Add/remove classes on scroll (WordPress)
我正在尝试使小部件在用户向下滚动页面50px时添加一个类并删除一个类,并在用户再次向上滚动时反转该过程。
网站:链接到这里
平台:WordPress
主题:Customizr-child
我尝试影响的窗口小部件已将
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | $(function() { //caches a jQuery object containing the header element var header = $(".header-widget"); $(window).scroll(function() { var scroll = $(window).scrollTop(); if (scroll >= 50) { $(".header-widget").removeClass("header-widget-tallheader"); $(".header-widget").addClass("header-widget-shortheader"); } else { $(".header-widget").removeClass("header-widget-shortheader"); $(".header-widget").addClass("header-widget-tallheader"); } }); }); |
由于标准[1]中禁止在Wordpress中使用脚本标签,因此我选择安装" Scripts n Styles"插件,这显然可以克服该限制。然后,我插入了上面的代码,使其显示在
然而不幸的是,什么也没有发生。脚本标记仍未处理吗?我的编码有误吗?还是应该使用AJAX [2]?如果是后者,我会通读W3Schools AJAX教程[3],但不确定在这种情况下如何应用它。
在此先感谢您是否有任何帮助。我花了很多时间研究这个问题,但似乎仍然是一个初学者,因此,如果有任何答案可以尽可能描述性地表示,我将不胜感激。
脚注:
由于论坛声誉的限制,我本来要包含的链接却不能:
[1]
[2]
[3]
您的代码是正确的,只需在其之前添加
正确的代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | $ = jQuery; $(function() { //caches a jQuery object containing the header element var header = $(".header-widget"); $(window).scroll(function() { var scroll = $(window).scrollTop(); if (scroll >= 50) { $(".header-widget").removeClass("header-widget-tallheader"); $(".header-widget").addClass("header-widget-shortheader"); } else { $(".header-widget").removeClass("header-widget-shortheader"); $(".header-widget").addClass("header-widget-tallheader"); } }); }); |
以下代码对我来说是完美的:
.page_header在这里是我主题的标头类。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | jQuery(function() { //caches a jQuery object containing the header element var header = jQuery(".page_header"); jQuery(window).scroll(function() { var scroll = jQuery(window).scrollTop(); if (scroll > 0) { jQuery(".page_header").removeClass("header-widget-tallheader"); jQuery(".page_header").addClass("header-widget-shortheader"); } else { jQuery(".page_header").removeClass("header-widget-shortheader"); jQuery(".page_header").addClass("header-widget-tallheader"); } }); }); |
尝试将脚本更改为:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | jQuery(function() { //caches a jQuery object containing the header element var header = jQuery(".header-widget"); jQuery(window).scroll(function() { var scroll = jQuery(window).scrollTop(); if (scroll >= 50) { jQuery(".header-widget").removeClass("header-widget-tallheader"); jQuery(".header-widget").addClass("header-widget-shortheader"); } else { jQuery(".header-widget").removeClass("header-widget-shortheader"); jQuery(".header-widget").addClass("header-widget-tallheader"); } }); }); |
WordPress附带的jQuery版本无法识别$