Поворот изображения только один раз с помощью файла cookie jQuery

0

На загрузке страницы я поворачиваю изображение некоторое время и спрячусь с помощью jQuery. Однако, когда я перехожу к другим страницам и снова возвращаюсь к первому, снова загружает это изображение. Как я могу сделать, что вращение произойдет только при загрузке первой страницы?

PS: Я знаю, что я должен использовать файлы cookie, но я не могу это сделать правильно. Может ли кто-нибудь помочь?

Вот код, который вращает изображение:

$(document).ready(function(){
    var angle = 0;
    setInterval(function(){
        angle+=3;
        $("#loading").rotate(angle);
    }, 50);
});

Я попытался установить cookie defaul как true перед вращением, а затем изменить его, но он не работает.

$.cookie('visited', true);
    $(document).ready(function(){
        if( $.cookie('visited') == true){
            var angle = 0;
            setInterval(function(){
                angle+=3;
                $("#loading").rotate(angle);
            },50);
        $.cookie('visited', false);
    }
});

Интересно, может ли это противоречить чему-то:

$(document).ready(function(){

    //Initial loading, after 3 seconds fadeout the loading and show the menu
    $("#loading").delay(3000).fadeOut("slow");
    $(".logo").delay(3500).fadeIn('slow');
    $("footer, nav").delay(4000).fadeIn('slow');
});

Здесь я попытался сделать анимацию. Логотип, Нижний колонтитул и Nav скрыты с CSS, затем я исчезаю в них.

Я попробовал это:

$(document).ready(function(){
    if ($.cookie('hasSeenAnimation') == null){
        var angle = 0;
        setInterval(function(){
            angle+=3;
            $("#loading").rotate(angle);
        },50);

        //Initial Loading, after 3 seconds fadeout the Loading and show Menu
        $("#loading").delay(3000).fadeOut("slow");
        $(".logo").delay(3500).fadeIn('slow');
        $("footer, nav").delay(4000).fadeIn('slow');

        $.cookie('hasSeenAnimation','true');
    }
});

Но теперь при первом нагружении он вращается... когда я перемещаюсь и возвращаюсь, он показывает повернутое изображение, но предотвращает вращение (он не вращается).

Теги:
cookies
rotation

3 ответа

0
Лучший ответ

Хорошо, ребята, спасибо за помощь. Мне просто удалось это сделать, добавив else выражение.

Вот код, если у кого-то такая же проблема (обратите внимание, что это не лучший ответ, поскольку я новичок в jQuery):

$(document).ready(function(){
    if ($.cookie('hasSeenAnimation') == null){
        var angle = 0;
        setInterval(function(){
            angle+=3;
            $("#loading").rotate(angle);
        },50);

        //Initial Loading, after a 3 sec fadeout the loading and show the menu
        $("#loading").delay(3000).fadeOut("slow");
        $(".logo").delay(3500).fadeIn('slow');
        $("footer, nav").delay(4000).fadeIn('slow');

        $.cookie('hasSeenAnimation', 'true');
    }
    else{
        $("#loading").hide();
        $(".logo").delay(300).fadeIn('slow');
        $("footer, nav").delay(600).fadeIn('slow');
    }
});
0

Как насчет чего-то подобного.

$(document).ready(function(){
    if( $.cookie('visited') != true){
        var angle = 0;
        setInterval(function(){
            angle += 3;
            $("#loading").rotate(angle);
        },50);
        $.cookie('visited', true);
    }
});
  • 0
    Нет, та же проблема ... вращается при первой загрузке, но когда я перемещаюсь и возвращаюсь снова, он вращается
  • 0
    просто чтобы проверить dbl, можете ли вы убедиться, что вы удалили предыдущий cookie, который вы установили. Очистите куки, затем попробуйте.
Показать ещё 3 комментария
0

Вы каждый раз загружаете cookie каждый раз при загрузке страницы, вместо этого попробуйте

$(document).ready(function () {
    if (!$.cookie('visited')) {
        var angle = 0;
        setInterval(function () {
            angle += 3;
            $("#loading").rotate(angle);
        }, 50);
        $.cookie('visited', true);
    }
});

PoC: Fiddle

  • 0
    Спасибо за ответ: я пробовал это, но он предотвращает даже вращение. Я проверяю, противоречит ли другое действие этому ...

Ещё вопросы

Сообщество Overcoder
Наверх
Меню