我不明白为什么我的变量赋值:var mn = $("nav");
在这段代码中不起作用:
var mn = $("nav");
var randomNum = 23;
$(window).scroll(function() {
if( $(this).scrollTop() > 400 ) {
$("nav").addClass("main-nav-scroll");
alert(randomNum);
} else {
mn.removeClass("main-nav-scroll");
}
});
当我在$("nav").addClass(...);
手动写出来时,它完美无缺。我认为这个问题可能是变量的范围,所以我添加了randomNum
变量来打印出来,它确实很好。我真的很难过。我花了很长时间才发现这个简单的错误所以我想在下次理解。感谢。
答案 0 :(得分:0)
您的问题可能是nav
。它就像<p>
一样是一个dom元素。因此,当您尝试选择它时,您的查询就是一般的。
提供导航和ID并以此方式选择。
例如
<强> HTML 强>
<nav id "foob"></nav>
<强> JS 强>
var mn = $("#foob");
另外
另外,在事件处理程序中放置一个console.log('scroll event fired')
,以便验证事件是否实际触发。
答案 1 :(得分:0)
这有效:
<script type="text/javascript">
jQuery(document).ready(function ($selimatac) {
// öncelikle divi bir gizleyelim
$selimatac("#yukari").hide();
//scroll eğer 100 değerinin üstünde ise divi görünür yapacak, değilse gizleyecektir
$selimatac(function () {
$selimatac(window).scroll(function () {
if ($selimatac(this).scrollTop() > 100) {
$selimatac('#yukari').fadeIn();
} else {
$selimatac('#yukari').fadeOut();
}
});
// butona tıklayınca sayfa en üste çıkması için
$selimatac('div a').click(function () {
$selimatac('window,html,body').animate({
scrollTop: 0
}, 1000);
return false;
});
});
});
</script>
请查看http://selimatac.net/jquery-scrolltop-ile-yukari-cik-butonu/以获取更多信息。
答案 2 :(得分:0)
也许您的var会在代码中的某处重写。尝试另一个var名称