Я новичок в jquery и собрал следующий код, чтобы сделать DIV после заданного количества прокрутки. Если прокрутка выполняется, DIV исчезает. Необязательно, как только DIV появился, есть ссылка, чтобы закрыть его. Это все работает по назначению, кроме того, я хочу, чтобы сценарий запускался только один раз. В настоящий момент, если я прокручу резервную копию, снова появится желтая рамка. Как я могу гарантировать, что ящик остается закрытым? Как еще один вариант, можно ли интегрировать файлы cookie или localStorage?
Большое спасибо! Russ.
Javascript:
$(function () {
var target = $(".box");
if ($(window).scrollTop() > 30) {
target.hide();
}
$(window).scroll(function () {
var pos = $(window).scrollTop();
if (pos > 30) {
target.stop(true, true).fadeIn('slow');
} else {
target.stop(true, true).fadeOut('slow');
}
});
$('a.close').click(function () {
$($(this).attr('href')).slideUp();
return false;
});
});
Вот ссылка jsfiddle на мой код: jsfiddle link
Вы можете удалить прокрутку события из окна, а для localStorage - сделать что-то вроде этого:
$(function () {
var target = $(".box");
if ($(window).scrollTop() > 30) {
target.hide();
}
$(window).scroll(function () {
var pos = $(window).scrollTop();
if (pos > 30) {
target.stop(true, true).fadeIn('slow');
} else {
target.stop(true, true).fadeOut('slow');
}
if(localStorage['noNotification'] == 'true'){
$(window).off('scroll');
}
});
$('a.close').click(function () {
$($(this).attr('href')).slideUp();
$(window).off('scroll');
localStorage['noNotification'] = 'true';
return false;
});
});
Вы можете удалить класс, чтобы убедиться, что окно остается в комплекте с removeClass()
. Или непосредственно $(".box").remove()
после анимации. Вы можете сохранить этот вариант с помощью cookie, но если клиент удалит свои файлы cookie, он потерян.
попробуйте это http://jsfiddle.net/AbwXu/4/
var notdisplayed=true;
$(function(){
var target = $(".box");
if($(window).scrollTop() > 30){
target.hide();
}
$(window).scroll(function(){
var pos = $(window).scrollTop();
if(pos > 30 && notdisplayed){
target.stop(true, true).fadeIn('slow');
} else {
target.stop(true, true).fadeOut('slow');
notdisplayed=false;
}
});
$('a.close').click(function() {
$($(this).attr('href')).slideUp();
notdisplayed=false;
return false;
});