Показать сообщение отдельно
  #18 (permalink)  
Старый 22.08.2017, 18:17
Аватар для LADYX
Профессор
Отправить личное сообщение для LADYX Посмотреть профиль Найти все сообщения от LADYX
 
Регистрация: 19.02.2015
Сообщений: 219

Вот блин, снова не получается, да что же я не так делаю? Я прошу прощения. Смотрите, добавил функцию cookie, где при нажатии на "больше не показывать окно", ставится cookie, но мало того что явно делаю что-то не так, так еще и синтаксическая ошибка. jQuery Cookie Plugin v1.4.1 к сайту подключен. Помогите, пожалуйста?
jQuery(document).ready(function($) {
	if (typeof $.cookie('pop_up') === 'undefined') { 
	var date = new Date();
	var period = 3; //например, на 3 дня
	date.setTime(date.getTime() + period * 24 * 60 * 60 * 1000);
	$.cookie('pop_up', 'yes', {
	expires: date,
	path: '/'
	});
  
  $('.timer').prepend('<div class="left">Можно будет закрыть через <span></span></div>');
  var msg = plural([' секунд',' секунду',' секунды']);
  var delay = 1,
    seconds = 3;
  $('.left span').text(seconds+msg(seconds));
  $('.pop_up').delay(delay * 1000).fadeIn(800, function() {
    var int;
    int = setInterval(function() {
      if (seconds > 1) {
        $('.left span').text((seconds - 1)+msg(seconds - 1));
        seconds--;
      } else {
        $('.left').remove();
        $('.pop_up .close').show();
        clearInterval(int);
      }
    }, 1000);
  });
});
function plural(arr) {
    var get = [0,1,2,2,2,0,0,0,0,0];
    return function(num) {
                if( String.prototype.slice.call(num, -2,-1) === '1' ) return arr[0];
        num = String.prototype.slice.call(num, -1);
                return arr[ get[num] ];
        }
	}
}
jQuery('.close, .close_cookie').click(function(e) {
    e.preventDefault();
    jQuery('.pop_up').fadeOut(0);
});

ну и в html соответственно изменения:
<div class="pop_up">Я модальное окно
  <div class="timer">
    <div class="close">Закрыть окно</div>
    <div class="close close_cookie">Больше не показывать</div>
  </div>
</div>

Еще раз прошу прощения за беспокойство!
Ответить с цитированием