Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 28.01.2015
Сообщений: 226
1

Jquery cookie не работает

06.04.2019, 09:16. Показов 650. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток всем.

Вот такой код. При обновлении страницы счетчик каждый раз заного идет, я хочу чтобы каждому новому человеку показано 24 часа и отсчет, и по окончании этого времени alert уведомление, что время вышло.
Но мне каждый раз при обновлении страницы выдает Акция продлится еще 08:17:42.
Подскажите пожалуйста

<div id="sample_countdown"></div>


Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
/* jQuery.cookie :: Begin */
        (function(c){"function"===typeof define&&define.amd?define(["jquery"],c):"object"===typeof exports?c(require("jquery")):c(jQuery)})(function(c){function p(a){a=e.json?JSON.stringify(a):String(a);return e.raw?a:encodeURIComponent(a)}function n(a,g){var b;if(e.raw)b=a;else a:{var d=a;0===d.indexOf('"')&&(d=d.slice(1,-1).replace(/\\"/g,'"').replace(/\\\\/g,"\\"));try{d=decodeURIComponent(d.replace(l," "));b=e.json?JSON.parse(d):d;break a}catch(h){}b=void 0}return c.isFunction(g)?g(b):b}var l=/\+/g,e= c.cookie=function(a,g,b){if(1<arguments.length&&!c.isFunction(g)){b=c.extend({},e.defaults,b);if("number"===typeof b.expires){var d=b.expires,h=b.expires=new Date;h.setTime(+h+864E5*d)}return document.cookie=[e.raw?a:encodeURIComponent(a),"=",p(g),b.expires?"; expires="+b.expires.toUTCString():"",b.path?"; path="+b.path:"",b.domain?"; domain="+b.domain:"",b.secure?"; secure":""].join("")}for(var d=a?void 0:{},h=document.cookie?document.cookie.split("; "):[],m=0,l=h.length;m<l;m++){var f=h[m].split("="), k;k=f.shift();k=e.raw?k:decodeURIComponent(k);f=f.join("=");if(a&&a===k){d=n(f,g);break}a||void 0===(f=n(f))||(d[k]=f)}return d};e.defaults={};c.removeCookie=function(a,e){if(void 0===c.cookie(a))return!1;c.cookie(a,"",c.extend({},e,{expires:-1}));return!c.cookie(a)}});
        /* jQuery.cookie :: End */
 
        function simple_timer(sec, block, direction) {
         
            var time    = sec;
            direction   = direction || false;
                     
            var hour    = parseInt(time / 3600);
            if ( hour < 1 ) hour = 0;
            time = parseInt(time - hour * 3600);
            if ( hour < 10 ) hour = '0'+hour;
         
            var minutes = parseInt(time / 60);
            if ( minutes < 1 ) minutes = 0;
            time = parseInt(time - minutes * 60);
            if ( minutes < 10 ) minutes = '0'+minutes;
         
            var seconds = time;
            if ( seconds < 10 ) seconds = '0'+seconds;
         
            block.innerHTML = 'Акция продлится еще ' + hour+':'+minutes+':'+seconds;
         
            if ( direction ) {
                sec++;
         
                setTimeout(function(){ simple_timer(sec, block, direction); }, 1000);
            } else {
                sec--;
         
                if ( sec > 0 ) {
                    setTimeout(function(){ simple_timer(sec, block, direction); }, 1000);
                } 
            }
        }
 
        function start_countdown() {
            if (!($.cookie('timer'))){
                $.cookie('timer', 86400);
                
            }
            var time = $.cookie('timer');
            var block = document.getElementById('sample_countdown');
            simple_timer(time, block);
        }
        start_countdown();
Добавлено через 1 час 38 минут
На просторах интернета нашел другой вариант.

<div id="clockdiv">
<div>
<span class="hours"></span>
<div class="smalltext">Hours</div>
</div>
<div>
<span class="minutes"></span>
<div class="smalltext">Minutes</div>
</div>
<div>
<span class="seconds"></span>
<div class="smalltext">Seconds</div>
</div>
</div>

Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
        function getTimeRemaining(endtime) {
          var t = Date.parse(endtime) - Date.parse(new Date());
          var seconds = Math.floor((t / 1000) % 60);
          var minutes = Math.floor((t / 1000 / 60) % 60);
          var hours = Math.floor((t / (1000 * 60 * 60)) % 24);
          return {
            'total': t,
            'hours': hours,
            'minutes': minutes,
            'seconds': seconds
          };
        }
 
        function initializeClock(id, endtime) {
            var clock = document.getElementById(id);
            var hoursSpan = clock.querySelector('.hours');
            var minutesSpan = clock.querySelector('.minutes');
            var secondsSpan = clock.querySelector('.seconds');
 
            function updateClock() {
                var t = getTimeRemaining(endtime);
 
                hoursSpan.innerHTML = ('0' + t.hours).slice(-2);
                minutesSpan.innerHTML = ('0' + t.minutes).slice(-2);
                secondsSpan.innerHTML = ('0' + t.seconds).slice(-2);
 
                if (t.total <= 0) {
                  clearInterval(timeinterval);
                }
            }
 
            updateClock();
            var timeinterval = setInterval(updateClock, 1000);
        }
 
        var deadline = new Date(Date.parse(new Date()) + 15 * 24 * 60 * 60 * 1000);
        
        initializeClock('clockdiv', deadline);
Получается при обновлении страницы сбрасывается счеттчик.

Я пробовал добавить

Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function setCookie(name, value) {
            document.cookie = name + "=" + value;
        }
 
        function getCookie(name) {
            var r = document.cookie.match("(^|;) ?" + name + "=([^;]*)(;|$)");
            if (r) return r[2];
            else return "";
        }
 
        if( getCookie("clock") ) {
            alert(setCookie("clock"));
        }else {
            setCookie("clock", deadline);
        }
не помогло.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.04.2019, 09:16
Ответы с готовыми решениями:

jQuery и cookie
Помогите розобраца. Когда пишу &lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.01 Transitional//EN&quot;...

JQuery cookie
подключил к странице: &lt;script type=&quot;text/javascript&quot;...

Не работают jquery.cookie
Добрый день! пишу сайт и сделал поставил фильтр выбор по категориям, но изначально менюшка скрыта,...

Смена вида материалов cookie - jQuery
Здравствуйте! Помогите пожалуйста. Проблема с cookie при смене вида новостей. Так как я в JS...

0
06.04.2019, 09:16
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.04.2019, 09:16
Помогаю со студенческими работами здесь

jQuery Cookie не читает куки если запустить *.html с диска локально!
Привет. Есть html файл, назовем его &quot;Index.html&quot;. В этом файле jQuery код, который выполняет...

JQuery .on() не работает
Добрый день. Есть таблица с данными, со строками можно производить манипуляции, типа открыть,...

не работает jquery
Всем привет. начал читать Jquery и хотел попробовать на практике но не работает какой ошибка может...

Jquery не работает
Не понимаю в чем проблема. Помогите пожалуйста разобраться. Спасибо заранее &lt;?php $action =...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru