我试图让一个小部件添加一个类,当用户向下滚动页面50px时删除一个类,并在用户再次向上滚动时反转该过程。
网站: Link here
平台: Wordpress
主题:Customizr-child
我想要影响的小部件已应用header-widget
类。 This forum thread让我创造了:
$(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");
}
});
});
由于禁止在Wordpress中使用脚本标签作为标准[1],我选择安装“Scripts n Styles”插件,这显然优先于该限制。然后,我插入了上面的代码,使其显示在head
代码中。
如果有人能提供帮助,请提前致谢。我花了好几个小时研究这个,但看起来仍然是一个初学者,所以如果有任何答案可以尽可能描述,我将不胜感激。
脚注:
由于论坛声誉限制,我将包含但不能包含的链接:
[1] https://www.godaddy.com/garage/webpro/wordpress/3-ways-to-insert-javascript-into-wordpress-pages-or-posts/
[2] https://stackoverflow.com/questions/28356137/change-css-when-scroll-down-using-php
[3] http://www.w3schools.com/ajax/default.asp
答案 0 :(得分:2)
您的代码是正确的,只需在此之前添加$ = jQuery;
。
更正后的代码
$ = 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");
}
});
});
答案 1 :(得分:1)
尝试将脚本更改为:
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版本无法识别$
答案 2 :(得分:1)
以下代码非常适合我: .page_header是我主题的标头类。
<script>
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");
}
});
});
</script>