我正在尝试为页面向下滚动时弹出的div创建最小化效果。一切都很好,只有一个问题。如果最小化功能完成并且我向上滚动页面,它将恢复其原始值。我希望它能够在点击最小化按钮并向上滚动一点之后,它应该保持最小化并且不会恢复。
这是我正在使用的
$(function () {
$(window).scroll(function () {
var height = $(window).height() /2;
if ($(this).scrollTop() >= height) {
$("#box").animate({'bottom':'0px'},300);
}
else {
$("#box").stop(true).animate({'bottom':'-150px'},100);
}
}); });
$('.minimize').toggle(function() {
$('#box').animate({'bottom':'-80px'},200);},
function() { $('#box').animate({'bottom':'0px'},200);
});
查看演示fiddle
答案 0 :(得分:1)
我同意Machiee的评论。
你可以这样做:
$(function () {
$(window).scroll(function (e) {
if($('#box').hasClass('minimized'))
return;
var height = $(window).height() /2;
if ($(this).scrollTop() >= height) {
$("#box").animate({'bottom':'0px'},300);
}
else {
$("#box").stop(true).animate({'bottom':'-150px'},100);
}
}); });
$('.minimize').toggle(function() {
$('#box').animate({'bottom':'-80px'},200);
$('#box').addClass('minimized');
},
function() { $('#box').animate({'bottom':'0px'},200);
$('#box').removeClass('minimized');
});
查看演示fiddle