Javascript 变量赋值不起作用
我不明白为什么我的变量赋值:Javascript 变量赋值不起作用,javascript,jquery,Javascript,Jquery,我不明白为什么我的变量赋值: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-
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
变量来打印输出,它的效果很好。我真的被难住了。我花了很长时间才发现这个简单的错误,所以我想下次再了解一下。谢谢。您的问题可能是nav
。它是一个dom元素,就像
一样。因此,当您尝试选择它时,您的查询是通用的
给出导航和ID,并以这种方式选择
比如说
HTML
<nav id "foob"></nav>
此外
另外,在事件处理程序中放置一个console.log('scroll event fired')
,这样您就可以验证事件是否确实正在触发。这可以:
<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>
jQuery(document).ready(函数($selimatac){
//恩塞利克迪维比尔吉兹勒伊林酒店
$selimatac(“#yukari”).hide();
//卷轴eğer 100 değerininüstünde ise divi görünür yapacak,değilse gizleyecektir
$selimatac(函数(){
$selimatac(窗口)。滚动(函数(){
if($selimatac(this).scrollTop()>100){
$selimatac(“#yukari”).fadeIn();
}否则{
$selimatac(“#yukari”).fadeOut();
}
});
//布托纳·特克莱·桑卡·赛法·恩努斯特·凯马斯·伊辛(butona tıklayınca sayfa enüsteıkmasıiçin)
$selimatac('div a')。单击(函数(){
$selimatac('window,html,body')。动画({
滚动顶部:0
}, 1000);
返回false;
});
});
});
查看以获取更多信息。可能您的var在代码中的某个地方被重写。尝试另一个var名称是nav
一个ID还是一个类?是$(document.ready()
)中的代码吗?@John:很可能是一个…如果你将console.log(mn)
添加到滚动
事件处理程序中,你会在控制台中看到什么?根据问题所说的可能是一个重复的well,如果是这样的话,那么就开始写吧$(“nav”).addClass(…);手动也不起作用。请阅读文本编辑框中的格式帮助。正确的格式对于可读性、提问者以及将来搜索类似答案的人来说至关重要。
<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>