问答详情
源自:4-3 使用jQuery实现网页定位导航(下)

救命啊!为什么滚动条下滑,导航条没有变化?可以删除本来的样式,但是添加不上去

控制台都可以接收到currid  为什么添加addClass('ys2')不可以?以下是部分代码。也没有报错==

var k=$('.ys2');      //这是获取1F 男装  样式为.ys2

 if(currid && currid!=k.attr('href')){     

k.removeClass('ys2');

$('.ul1').find('a[href="+ currid +"]').addClass('ys2')

                  // console.log(currid)

   }

})

})

</script>

</head>

<body>

<ul class="ul1">

<li><a href="#item1" class="ys2">1F xixi</a></li>

<li><a href="#item2">2F xixi</a></li>

<li><a href="#item3">3F xixi</a></li>

<li><a href="#item4">4F xixi</a></li>

<li><a href="#item5">5F xixi</a></li>

<li><a href="#item6">6F xixi</a></li>

</ul>


提问者:鱼鱼鱼iii 2016-09-20 15:33

个回答

  • 小小不空大
    2016-09-20 16:59:49
    已采纳

    我试着给你写下:  $(function(){ 

                                    $('.ul li a').on('click',function(){

                                      $(this).addClass('ys2').parents().sibilngs().find('a')removeClass('ys2');



                                   })

       

                              }) 


  • 鱼鱼鱼iii
    2016-09-20 16:55:00

    $(document).ready(function(){

    $(window).scroll(function(){

    var currid;

    var m=$(document).scrollTop();

    $('#content').find('.ys').each(function(){

    var n=$(this).offset().top;

    if(m>n-200){

    currid='#'+$(this).attr('id');

    }else{

    return false

    }

       });

    var k=$('.ys2');

     if(currid && currid!=k.attr('href')){

    k.removeClass('ys2');

    $('.ul1').find("[href="+ currid +"]").addclass('ys2');

                      console.log(currid)

       }

    })

    })


  • 小小不空大
    2016-09-20 16:48:52

    你这里的currid是值的的是当前所在楼层的href值吧,你在if(.....)之前就没有定义这个值,所以你的 if(...)条件判断就是false所以if(..){do something}里的js语句就不执行!先定义变量 ,或者获取值,再写判断条件 。。。1