百度经验滑动效果

 效果预览:

代码:

 1 <!doctype html>
 2 <html>
 3 <head>
 4 <meta charset="utf-8">
 5 <title>无标题文档</title>
 6 <style>
 7 *{margin:0;padding:0;}
 8 .box{margin-left:50px;}
 9 li{ list-style:none;}
10 .box ul li{width:800px;height:344px;border-left:1px dotted #666666;position:relative;}
11 .box2{height:500px;}
12 .box3{height:2000px;}
13 .box ul li a{line-height:32px; text-align:center;color:#fff;background:url(http://img.baidu.com/img/iknow/exp/global/step_ico_bg.png) no-repeat left top;width:32px;height:32px;display:block;position:absolute;left:-16px;top:0;}
14 .icon_link{position:fixed;top:0;left:34px;}
15 .icon_link a{line-height:32px; text-align:center;color:#fff;background:url(http://img.baidu.com/img/iknow/exp/global/step_ico_bg.png) no-repeat left -68px;width:32px;height:32px;display:block;display:none;}
16 
17 .icon_link a.current{background-position:0 0;}
18 </style>
19 <script src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
20 <script src="mousewheel.js"></script>
21 <script>
22 $(function(){
23         var $window = $(window);
24         var iconList = $('.icon_link a');
25         var aList = $('ul a');
26         aList.each(function(index,em){
27                 $(this).attr('top',index*32);
28         });
29         $window.scroll(function(){
30                         var scrollTop = $window.scrollTop();
31                         if(($('ul a:last').offset().top+ $('ul li:last').outerHeight()) - scrollTop-150 <= 0){
32                                 aList.css('visibility','visible');
33                                 iconList.css('display','none');
34                                 return;
35                         }
36                         aList.each(function(index,em){
37                                 if(aList.eq(index).offset().top - scrollTop <= aList.eq(index).attr('top')){
38                                         aList.eq(index).css('visibility','hidden');
39                                         iconList.removeClass('current');
40                                         iconList.eq(index).addClass('current').css('display','block');
41                                 }else{
42                                         aList.eq(index).css('visibility','visible');
43                                         iconList.eq(index).removeClass('current').css('display','none');
44                                 }
45                         });
46                         
47         });
48         iconList.click(function(){
49                 var i = $(this).index();
50                 var t = $('ul li').eq(i).offset().top;
51                 $('body,html').stop().animate({scrollTop:t});
52         });
53 })
54 </script>
55 </head>
56 
57 <body>
58 <div class="box">
59     <div class="box2"></div>
60         <ul>
61             <li id="icon1"><a>1</a><img src="http://hiphotos.baidu.com/exp/w=500/sign=ab84830bc9ea15ce41eee00986013a25/203fb80e7bec54e79e6ef790b9389b504ec26aba.jpg"></li>
62             <li id="icon2"><a>2</a><img src="http://hiphotos.baidu.com/exp/w=500/sign=8ca475112edda3cc0be4b82031e83905/5fdf8db1cb134954ceb104ea564e9258d0094a95.jpg"></li>
63             <li id="icon3"><a>3</a><img src="http://hiphotos.baidu.com/exp/w=500/sign=33fa75d0ddc451daf6f60ceb86fc52a5/b64543a98226cffc3638523cb9014a90f603ea2a.jpg"></li>
64     </ul>
65     <div>end</div>
66     <div class="icon_link">
67             <a href="javascriptl:;" class="icon1">1</a>
68             <a href="javascriptl:;" class="icon2">2</a>
69             <a href="javascriptl:;" class="icon3">3</a>
70     </div>
71     <div class="box3"></div>
72 </div>
73 </body>
74 </html>
原文地址:https://www.cnblogs.com/loverows/p/3894948.html