Javascript 窗口滚动功能不工作
我正在写一个博客,试图使用Javascript 窗口滚动功能不工作,javascript,jquery,html,Javascript,Jquery,Html,我正在写一个博客,试图使用$(window).scroll(function()),但有什么东西阻止了它的工作 当用户向下滚动时,我尝试将名为scrolled的类添加到body中。有什么想法会阻止它正常工作吗?控制台不会给出任何错误 JS 现场预览 您的函数接受一个$参数,但您没有传入任何内容,因此它会被覆盖,您应该这样做: $(document).ready(function() { $(window).scroll(function() { var scrol
$(window).scroll(function()
),但有什么东西阻止了它的工作
当用户向下滚动时,我尝试将名为scrolled
的类添加到body中。有什么想法会阻止它正常工作吗?控制台不会给出任何错误
JS
现场预览
您的函数接受一个
$
参数,但您没有传入任何内容,因此它会被覆盖,您应该这样做:
$(document).ready(function() {
$(window).scroll(function() {
var scroll = $(window).scrollTop();
if (scroll >= 100) {
$("body").addClass("scrolled");
} else {
$("body").removeClass("scrolled");
}
});
});
更好的JS:
$(function() {
$(window).on('scroll', function() {
$('body').toggleClass('scrolled', $(this).scrollTop() >= 100);
});
});
在您的网站上,我看不到与
相关的css。即使我通过控制台应用它,也不会在任何地方滚动。这里有一个有效的速记解决方案
另外,如果您使用的是jQueryUI,那么您可以使用switchClass()
为类更改过程添加一点动画
var scroll = ($(this).scrollTop() >= 100) ? $("body").switchClass("default","scrolled", 1000) : $("body").switchClass("scrolled","default", 1000);
*注意:也不要忘记在文档中包含jQuery/jQueryUI库。删除溢出:将自动属性添加到容器中。这将起作用。从函数中删除$
。如果要保护函数,请编写(函数($){…})(jQuery)
@mdesdev谢谢,但它对我不起作用。它太短了,我喜欢:)嘿,为什么要用空括号关闭文档准备就绪(>)()代码>?@AlienWebguy似乎不适合我,尽管它看起来很有效。我把$(function(){$(window).on('scroll',function(){$('#sb site').toggleClass('scrolled',$(this.scrollTop()>=100);});})放在('scroll',function(){$('sbsite');在我的JS上,但仍然没有工作。那个#sb站点是处理背景颜色的包装器。@mdesdev打字错误,我的错。Aleksi,现在试试,好像不行。我使用名为#sb site的包装器,这可能是问题所在吗?我试过了。卷轴成功了,但我不需要这样的行为。似乎不起作用。我使用名为#sb site的包装器,这可能是问题所在吗?我试过了。卷轴成功了,但我不需要这样的行为。
$(function() {
$(window).scroll(function() {
var scroll = ($(this).scrollTop() > 100) ? $("body").addClass("scrolled") : $("body").removeClass("scrolled");
});
});
var scroll = ($(this).scrollTop() >= 100) ? $("body").switchClass("default","scrolled", 1000) : $("body").switchClass("scrolled","default", 1000);