锚点在页面中用的很多,而且点击时会给被点击的这个锚点加一个不同的样式,这个很简单,但是,当用户滚动页面时,到达相应的锚点内容位置时,其所对应的锚点也应该显现这个样式也对,这样才达到页面的操作统一化。这就是锚点反向联动的问题。用到scrollTop()获取滚动的高度,用offset().top获取内容所在位置,两者进行比较,来动态添加class。

我发现自己描述问题的语言能力还是这么差啊,说了一堆我自己都不大懂,还是直接上代码吧:

html:

<div >

<a >1</a>

<a >2</a>

<a >3</a>

<a >4</a>

<a >5</a>

</div>

<br /><br />

<ul class="con">

<li >1</li>

<li >2</li>

<li >3</li>

<li >4</li>

<li >5</li>

</ul>

<div style="height:1000px;"></div>

css:

a,ul{ margin:0; padding:0}

ul,li{ list-style:none;}

.title{ position:fixed; right:0;}

.title a{ display:block; height:30px; width:900px; background:#C9C; margin-top:10px; cursor:pointer;}

.title .current{ background:#060;}

.con li{ height:600px; border-bottom:1px solid #06C;}

js:

$(function(){    

    $(window).scroll(function(){                     

         var wst=$(window).scrollTop() //滚动条距离顶端值

                            for(i=1;i<6;i++){             //加循环

                                     if($("#a"+i).offset().top<=wst){ //判断滚动条位置

                                               $('#nav a').removeClass("current"); //清除c类

                                               $("#a"+i+i).addClass("current");     //给当前导航加c类

                                                }

                                      }

                                      

           })

         $('#nav a').click(function(){

                   $('#nav a').removeClass("current");

                   $(this).addClass("current");

         });

});

效果预览:http://www.gbtags.com/gb/rtreplayerpreview-standalone/2918.htm

源码下载:http://pan.baidu.com/s/1dFNWoCD

相关文章:

  • 2021-09-25
  • 2022-12-23
  • 2022-12-23
  • 2022-02-14
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-12-19
  • 2021-08-06
  • 2022-01-29
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案