На загрузке страницы я поворачиваю изображение некоторое время и спрячусь с помощью 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');
}
});
Но теперь при первом нагружении он вращается... когда я перемещаюсь и возвращаюсь, он показывает повернутое изображение, но предотвращает вращение (он не вращается).
Хорошо, ребята, спасибо за помощь. Мне просто удалось это сделать, добавив 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');
}
});
Как насчет чего-то подобного.
$(document).ready(function(){
if( $.cookie('visited') != true){
var angle = 0;
setInterval(function(){
angle += 3;
$("#loading").rotate(angle);
},50);
$.cookie('visited', true);
}
});
Вы каждый раз загружаете cookie каждый раз при загрузке страницы, вместо этого попробуйте
$(document).ready(function () {
if (!$.cookie('visited')) {
var angle = 0;
setInterval(function () {
angle += 3;
$("#loading").rotate(angle);
}, 50);
$.cookie('visited', true);
}
});
PoC: Fiddle