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

来源:4-3 使用jQuery实现网页定位导航(下)

鱼鱼鱼iii

2016-09-20 15:33

控制台都可以接收到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>


写回答 关注

3回答

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

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

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

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



                                   })

       

                              }) 


    小小不空大 回复鱼鱼鱼iii

    谁告诉你$(。。)里函数会自我执行的! 你这个我看了是判断条件的问题 m ,n比较那的问题,二一个没有自触发,可以手动自触发!如$('.lm').trigger('click');前提是对象的click事件得定义好!你的判断条件写的有问题,你那定义的m当前滚动窗口顶端到body顶端的距离,n为当前匹配元素到body顶端的距离;也就是说在1F时m>n始终!当在1F到2F的时候,也就是n>=M时候发生滚动导航条2F样式发生变化!而且你后面那堆改变样式的动作应该卸载if(n>M-200){改变样式写在这、};

    2016-09-20 17:23:54

    共 3 条回复 >

  • 鱼鱼鱼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

    鱼鱼鱼iii 回复小小不空大

    我写的jq代码复制到楼下了,你看一下

    2016-09-20 16:55:30

    共 3 条回复 >

网页定位导航特效

本课程讲解网页定位导航特效,仿天猫版地狗购物网,你值得拥有

71394 学习 · 502 问题

查看课程

相似问题