第6行中!$catalog.hasClass('catalog-fixed')
的值始终为真
$(window).scroll(function(){
var $catalog = $(".catalog-brief");
var sideTop = $catalog.offset().top;
if (sideTop < 1000){
// always true
if (!$catalog.hasClass('catalog-fixed')) $catalog.addClass("catalog-fixed");
} else {
if ($catalog.hasClass('catalog-fixed')) $catalog.removeClass("catalog-fixed");
}
})
但这很好用
var $catalog = $(".catalog-brief");
var sideTop = $catalog.offset().top;
$(window).scroll(function(){
if (sideTop < 1000){
if (!$catalog.hasClass('catalog-fixed')) $catalog.addClass("catalog-fixed");
} else {
if ($catalog.hasClass('catalog-fixed')) $catalog.removeClass("catalog-fixed");
}
})
我犯了什么错误吗?
答案 0 :(得分:1)
尝试使用window.scrollY
代替当前sideTop
。或$(window).scrollTop()
如果你想使用Jquery。
$(window).scroll(function(){
var $catalog = $(".catalog-brief");
// if ($(window).scrollTop() < 1000) {
if (window.scrollY < 1000) {
if (!$catalog.hasClass('catalog-fixed')) $catalog.addClass("catalog-fixed");
} else {
if ($catalog.hasClass('catalog-fixed')) $catalog.removeClass("catalog-fixed");
}
});
答案 1 :(得分:0)
你可以试试这个:
var $catalog = $(".catalog-brief");
var sideTop = $catalog.offset().top;
$(window).scroll(function(){
(sideTop < 1000) && ($catalog.toggleClass("catalog-fixed"))
})