嘿大家我一直在学习js和HTML,而且我一直在努力学习。
我有一个导航栏,我想在页面的某个部分触发(通过滚动)。现在我的代码强制导航栏在无限循环中不断淡入淡出。
这是我的Javascript:
$('.navbarclass').hide(0);
$(window).on('scroll', function() {
var y_scroll_pos = window.pageYOffset;
var scroll_pos_test = 150;
if(y_scroll_pos > scroll_pos_test) {
$('.navbarclass').slideToggle();
}
});
基本上我希望导航栏在150处触发(它确实如此),但它会一直循环切换开关。
答案 0 :(得分:0)
将 Query(q => q
.Bool(b => b
.Must(mu => mu
.Match(m => m
.Field(f => f.SceneText)
.Query(queryString)
)
)
.MustNot(mn=> mn
.Term(p => p.SceneText, "not")
)
)
)
更改为.slideToggle()
答案 1 :(得分:0)
它在切换中循环,因为在滚动150px后条件将始终为true。因此,每个滚动大于150px将使导航栏滑动或滑动。
我会以这种方式做条件。
if (y_scroll_pos > scroll_pos_test) {
$('.navbarclass').slideDown();
} else {
$('.navbarclass').slideUp();
}
当滚动大于150px时,这将滑动导航栏,当小于或等于150px时滑动导航。
如果您只是希望在滚动大于150px时显示它而不执行任何其他操作,只需删除else块。