• JavaScript基础


    本节内容:

    • JavaScript基础
    • Dom编程   ---->操作html所有标签
    • jQeury         ---->开源模块,是对js的一个封装

    JavaScript是一种属于网络的脚本语言,已经被广泛用于Web应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。通常JavaScript脚本是通过嵌入在HTML中来实现自身的功能的。

    1.代码样例:

    jsfile.js文件
    /**
     * Created by Administrator on 2016/2/14.
     */
    function func(){
        alert('func');
    }
    
    
    html文件
    <body>
    
    <!--<script type="text/javascript" src="jsfile.js"></script>-->
        <script type="text/javascript">
            func()
    
        </script>
    </body>
    
    <!-- javascript代码一般放在body里面,紧贴body的底部 -->
    

    2.变量和函数的声明

    1、全局变量和局部变量
        name = 'eric'
        var name = 'saneri'
     
    2、基本函数和自执行函数
        function Foo(arg){
            console.log(arg);
        }
     
    
        (function (arg) {
            alert(arg);
        })('888')
    

    3.字符串常用方法和属性

    obj.trim()			                  //去除空格
    
    a = "   saneri   "
    "   saneri   "
    b = a.trim()
    "saneri"
    b.trim()
    "saneri"
    
    obj.charAt(index)		                  //根据索引获取字符串中的字符
    b.trim()
    "saneri"
    b.charAt(1)
    "a"
    b.charAt(2)
    "n"
    
    obj.substring(start,end)		              //类似切片
    
    b.trim()
    "saneri"
    b.substring(0,2)
    "sa"
    b.substring(0,3)
    "san"
    
    obj.indexOf(char)						//找字符的下标
    b.trim()
    "saneri"
    b.indexOf('s')
    0
    b.indexOf('n')
    2
    
    obj.length							//字符长度
    
    b.trim()
    "saneri"
    b.length
    6
    

    4、数组  

    声明,如:
        var array = Array() 或 var array = []
     
    添加
        obj.push(ele)                   追加
        obj.unshift(ele)                最前面插入数据
        obj.splice(index,0,'content')   指定索引插入,其中0位默认固定参数.
     
    移除
        obj.pop()                       数组尾部获取
        obj.shift()                     数组头部获取
        obj.splice(index,count)         数组指定位置后count个字符
     
    切片
        obj.slice(start,end)           
     
    合并
        newArray = obj1.concat(obj2)   
     
    翻转
        obj.reverse()
     
    字符串化
        obj.join('_')
     
    长度
        obj.length
    
     1 a = [11,22,33,44,55]
     2 [11, 22, 33, 44, 55]
     3 a.push('99')                    //追加
     4 6
     5 a
     6 [11, 22, 33, 44, 55, "99"]
     7 a.unshift("00")                //最前面插入数据
     8 7
     9 a
    10 ["00", 11, 22, 33, 44, 55, "99"]
    11 a.splice(2,0,'QQ')        //指定索引位置插入数据
    12 []
    13 a
    14 ["00", 11, "QQ", 22, 33, 44, 55, "99"]
    15 
    16 a.pop()                                        //数据尾部获取
    17 "99"
    18 a.shift()                                    //数组头部获取
    19 "00"
    20 
    21 a.slice(0,3)                            //切片
    22 [11, "QQ", 22]
    23 
    24 a = [11,22]
    25 [11, 22]
    26 b = [44,55]
    27 [44, 55]
    28 a.concat(b)                                //合并
    29 [11, 22, 44, 55]
    30 a.reverse()                                //翻转
    31 [22, 11]
    32 a
    33 [22, 11]
    34 a.join('_')                                //字符串化
    35 "22_11"
    36 a.length                                    //长度
    37 2
    数组练习实例

    注意:字典是一种特殊的数组

    6、循环

    两种循环方式:
    //循环列表
    a = [11,22,33,44]
    [11, 22, 33, 44]
    for (var item in a){console.log(item);}
    0
    1
    2
    3
    //另一种for循环方式
    a = [11,22,33,44]
    [11, 22, 33, 44]
    for(var i=0;i<a.length;i++){console.log(i);}			//取出索引值,i也可以从1开始
    0
    1
    2
    3
    //循环字典
    a = {k1:123,k2:456,k3:789}
    Object {k1: 123, k2: 456, k3: 789}
    a['k1']
    123
    for(var item in a){console.log(item);}			//循环取出索引
    k1
    k2
    k3
    
    for(var item in a){console.log(a[item]);}		//循环取出索引值
    123
    456
    789
    

    7、异常处理

    try{
    		var mn=m;
    
    }catch(e){
    
    	console.log(e);
    
    }finally{
    
    	console.log('finally')
    }
    

      

    文件对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展标志语言的标准编程接口。

    选择器:

    • document.getElementById('id')
    • document.getElementsByName('name')
    • document.getElementsByTagName('tagname')
     1 <body>
     2     <div id="ll">
     3         123
     4     </div>
     5 <!--<script type="text/javascript" src="jsfile.js"></script>-->
     6     <script type="text/javascript">
     7         var i = document.getElementById('ll');       <!--id只能有一个,结果直接出来-->
     8         var i = document.getElementsByName('name'); <!--name可以有多个,要循环结果才可以出来-->
     9         for(var item in i){
    10             i[item].innerText = "456";
    11         }
    12         var i = document.getElementsByTagName('div');
    13         i.innerText = "456";
    14 
    15     </script>
    16 </body>
    17 
    18 当浏览器访问时由123跳转显示456.
    操作实例

    常用函数:

    创建标签,document.createElement('a')

    获取或者修改样式,obj.className 

    获取或设置属性,setattribute(key,val)    getattribute(key)

    获取或修改样式中的属性,obj.style.属性

    提交表单,document.geElementById(‘form’).submit()

    常用事件:

    • onclick
    • onblur
    • onfocus
    • on...
    onload和ready
        body标签添加onload事件 或者 window.onload = function(){} 
            覆盖上一个onload只能注册一次,而ready就可以多次注册
        $(document).ready(function(){}) 或者 $(function(){})
    onload是所有DOM元素创建、图片加载完毕后才触发的。而ready则是DOM元素创建完毕后触发的,不等图片加载完毕。图片还么有渲染,就可以进行事件的执行。
    

      

    其他函数:

    • console.log()
    • location.href = "url" 和 open('url')
    • alert()
    • confirm()
    • setInterval("alert()",2000);    clearInterval(obj)
    • setTimeout();    clearTimeout(obj)
    <!DOCTYPE html>
    <html>
        <head>
            <meta charset='utf-8' >
            <title>欢迎blue shit莅临指导&nbsp;&nbsp;</title>
            <script type='text/javascript'>
                function Go(){
                    var content = document.title;
                    var firstChar = content.charAt(0)
                    var sub = content.substring(1,content.length)
                    document.title = sub + firstChar;
                }
                setInterval('Go()',1000);
            </script>
        </head>
        <body>    
        </body>
    </html>
    跑马灯
    <!DOCTYPE html>
    <html>
        <head>
            <meta charset='utf-8' />
            <title></title>
            
            <style>
                .gray{
                    color:gray;
                }
                .black{
                    color:black;
                }
            </style>
            <script type="text/javascript">
                function Enter(){
                   var id= document.getElementById("tip")
                   id.className = 'black';
                   if(id.value=='请输入关键字'||id.value.trim()==''){
                        id.value = ''
                   }
                }
                function Leave(){
                    var id= document.getElementById("tip")
                    var val = id.value;
                    if(val.length==0||id.value.trim()==''){
                        id.value = '请输入关键字'
                        id.className = 'gray';
                    }else{
                        id.className = 'black';
                    }
                }
            </script>
        </head>
        <body>
            <input type='text' class='gray' id='tip' value='请输入关键字' onfocus='Enter();'  onblur='Leave();'/>
        </body>
    </html>
    搜索框

     

    jQuery是一个兼容多浏览器的javascript库,核心理念是write less,do more(写得更少,做得更多),对javascript进行了封装,是的更加便捷的开发,并且在兼容性方面十分优秀。

    1. 选择器和筛选
    2. 属性
    3. css
    4. 文档处理
    5. 事件
    6. 扩展
    7. ajax

    更多见:http://www.php100.com/manual/jquery/  

    实例:

    返回顶部

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title></title>
     6     <style>
     7         .back{
     8             position: fixed;
     9             bottom: 0px;
    10             right: 0px;
    11         }
    12         .hide{
    13             display: none;
    14         }
    15     </style>
    16 </head>
    17 <body>
    18 
    19 <div style="height: 2000px;"></div>
    20 
    21 <div onclick="GoTop()" class="back hide">返回顶部</div>
    22 
    23 <script src="jquery-1.8.2.js"></script>
    24 <script type="text/javascript">
    25 
    26     function GoTop(){
    27         //返回顶部
    28         $(window).scrollTop(0);
    29     }
    30 
    31     $(function(){
    32 
    33         $(window).scroll(function(){
    34             //当滚动滑轮时,执行函数体
    35 
    36             //获取当前滑轮滚动的高度
    37             var top = $(window).scrollTop();
    38 
    39             if(top>100){
    40                 //展示“返回顶部”
    41                 $('.back').removeClass('hide');
    42             }else{
    43                 //隐藏“返回顶部”
    44                 $('.back').addClass('hide');
    45             }
    46         });
    47     });
    48 
    49 </script>
    50 
    51 </body>
    52 </html>
    返回顶部

    多选框

     1 <!DOCTYPE html>
     2 <html>
     3     <head>
     4         <meta charset='utf-8' />
     5         <title></title>
     6         <script type="text/javascript" src='jquery-1.8.2.js'></script>
     7         <script type="text/javascript">
     8             $(function(){
     9                 $('#selectAll').click(function(){
    10                     $('#checklist :checkbox').attr('checked',true);
    11                 })
    12                 $('#unselectAll').click(function(){
    13                     $('#checklist :checkbox').attr('checked',false);
    14                 })
    15                 $('#reverseAll').click(function(){
    16                     $('#checklist :checkbox').each(function(){
    17                         $(this).attr('checked',!$(this).attr('checked'))
    18                     })
    19                 })
    20 
    21             })            
    22         </script>
    23     </head>
    24     <body>
    25         <div id='checklist'>
    26             <input type='checkbox' value='1'/>篮球
    27             <input type='checkbox' value='2'/>足球
    28             <input type='checkbox' value='3'/>羽毛球
    29         </div>
    30         <input type='button' value='全选' id='selectAll' />
    31         <input type='button' value='不选' id='unselectAll' />
    32         <input type='button' value='反选' id='reverseAll' />
    33     </body>
    34 </html>
    多选框

    菜单

     1 .hide{
     2     display: none;
     3 }
     4 
     5 .container{
     6     300px;
     7     height: 600px;
     8     background-color: #ddd;
     9     border: 1px solid #999;
    10 }
    11 
    12 .container .title{
    13     height: 38px;
    14     font-size: 28px;
    15     line-height: 38px;
    16     background-color: orange;
    17     cursor: pointer;
    18 }
    19 
    20 .container .body{
    21     background-color:white;
    22 }
    23 
    24 .container .body a{
    25     display:block;
    26     padding: 10px;
    27 }
    css
     1 <!DOCTYPE html>
     2 <html>
     3     <head>
     4         <meta charset='utf-8' />
     5         <link rel="stylesheet" type="text/css" href="common.css" />
     6         <script type="text/javascript" src='jquery-1.8.2.js'></script>
     7 
     8     </head>
     9     <body>
    10         <div class='container'>
    11             <div>
    12                 <div class='title'>Menu1</div>
    13                 <div class='body'>
    14                     <a href="">content1</a>
    15                     <a href="">content2</a>
    16                     <a href="">content3</a>
    17                 </div>
    18             </div>
    19 
    20             <div>
    21                 <div class='title'>Menu1</div>
    22                 <div class='body hide'>
    23                     <a href="">content1</a>
    24                     <a href="">content2</a>
    25                     <a href="">content3</a>
    26                 </div>
    27             </div>
    28 
    29             <div>
    30                 <div class='title'>Menu1</div>
    31                 <div class='body hide'>
    32                     <a href="">content1</a>
    33                     <a href="">content2</a>
    34                     <a href="">content3</a>
    35                 </div>
    36             </div>
    37             
    38             <div>
    39                 <div class='title'>Menu1</div>
    40                 <div class='body hide'>
    41                     <a href="">content1</a>
    42                     <a href="">content2</a>
    43                     <a href="">content3</a>
    44                 </div>
    45             </div>
    46             
    47             <div>
    48                 <div class='title'>Menu1</div>
    49                 <div class='body hide'>
    50                     <a href="">content1</a>
    51                     <a href="">content2</a>
    52                     <a href="">content3</a>
    53                 </div>
    54             </div>
    55 
    56         </div>
    57 
    58         <script type="text/javascript">
    59             $(function(){
    60                 $('.title').click(function(){
    61                     $(this).parent().siblings().children('.body').addClass('hide');
    62                     $(this).next().removeClass('hide');
    63                 });
    64             });
    65         </script>
    66     </body>
    67 </html>
    Html

    Tab

      1 /*公共开始*/
      2 body {
      3     margin: 0 auto;
      4     font-family: Arial;
      5     _font-family: 宋体,Arial;
      6     font-size: 12px;
      7 }
      8 body, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, button, textarea, p, blockquote, th, td, figure, div {
      9     margin: 0;
     10     padding: 0;
     11 }
     12 
     13 ol, ul, li {
     14     list-style: none;
     15 }
     16 a{
     17     cursor:pointer;
     18     text-decoration:none;
     19 }
     20 /*a:hover{
     21     color: #F60 !important;
     22     text-decoration: underline;
     23 }*/
     24 img{
     25     border:none;
     26     border-0px;
     27 }
     28 table{
     29     border-collapse: collapse;
     30     border-spacing: 0;
     31 }
     32 
     33 .red{
     34     color: #c00!important;
     35 }
     36 .m8{
     37     margin:8px;
     38 }
     39 .mt10{
     40     margin-top:10px;
     41 }
     42 .mt20{
     43     margin-top:20px;
     44 }
     45 .mr5{
     46     margin-right:5px;
     47 }
     48 .ml5{
     49     margin-left:5px;
     50 }
     51 
     52 .ml10{
     53     margin-left:10px;
     54 }
     55 
     56 .mb10{
     57     margin-bottom:10px;
     58 }
     59 .pt18{
     60     padding-top:18px;
     61 }
     62 .pt20{
     63     padding-top:20px;
     64 }
     65 .pb20{
     66     padding-bottom:20px;
     67 }
     68 .nbr{
     69     border-right:0px;
     70 }
     71 .font12{
     72     font-size:12px;
     73 }
     74 .font14{
     75     font-size:14px;
     76 }
     77 .font16{
     78     font-size:16px;
     79 }
     80 .bold{
     81     font-weight:bold;
     82 }
     83 .left{
     84     float:left;
     85 }
     86 .right{
     87     float:right;
     88 }
     89 .hide{
     90     display:none;
     91 }
     92 .show{
     93      display:table;
     94 }
     95 .clearfix{
     96     clear:both;
     97 }
     98 .clearfix:after {
     99     content: ".";
    100     display: block;
    101     height: 0;
    102     clear: both;
    103     visibility: hidden;
    104 }
    105 * html .clearfix {zoom: 1;}
    106 
    107 .container{
    108     1190px;
    109     margin-left:auto;
    110     margin-right:auto;
    111 
    112 }
    113 
    114 .group-box-1 .title{
    115     height: 33px;
    116     line-height: 33px;
    117     border: 1px solid #DDD;
    118     background: #f5f5f5;
    119     padding-top: 0;
    120     padding-left: 0;
    121                 
    122 }
    123 .group-box-1 .title .title-font{
    124     display: inline-block;
    125     font-size: 14px;
    126     font-family: 'Microsoft Yahei','SimHei';
    127     font-weight: bold;
    128     color: #333;
    129     padding-left: 10px;
    130 }
    131 .group-box-1 .body {
    132     border: 1px solid #e4e4e4;
    133     border-top: none;
    134 }
    135 
    136 .tab-menu-box1 {
    137     border: 1px solid #ddd;
    138     margin-bottom: 20px;
    139 }
    140 
    141 .tab-menu-box1 .menu {
    142     line-height: 33px;
    143     height: 33px;
    144     background-color: #f5f5f5;
    145 }
    146 
    147 .tab-menu-box1 .content {
    148     min-height: 100px;
    149     border-top: 1px solid #ddd;
    150     background-color: white;
    151 }
    152 
    153 .tab-menu-box1 .menu ul {
    154     padding: 0;
    155     margin: 0;
    156     list-style: none;
    157     /*position: absolute;*/
    158 }
    159 
    160 .tab-menu-box1 .menu ul li {
    161     position: relative;
    162     float: left;
    163     font-size: 14px;
    164     font-family: 'Microsoft Yahei','SimHei';
    165     text-align: center;
    166     font-size: 14px;
    167     font-weight: bold;
    168     border-right: 1px solid #ddd;
    169     padding: 0 18px;
    170     cursor: pointer;
    171 }
    172 
    173 .tab-menu-box1 .menu ul li:hover {
    174     color: #c9033b;
    175 }
    176 
    177 .tab-menu-box1 .menu .more {
    178     float: right;
    179     font-size: 12px;
    180     padding-right: 10px;
    181     font-family: "宋体";
    182     color: #666;
    183     text-decoration: none;
    184 }
    185 
    186 .tab-menu-box1 .menu a:hover {
    187     color: #f60 !important;
    188     text-decoration: underline;
    189 }
    190 
    191 .tab-menu-box1 .menu .current {
    192     margin-top: -1px;
    193     color: #c9033b;
    194     background: #fff;
    195     height: 33px;
    196     border-top: 2px solid #c9033b;
    197     z-index: 10;
    198 }
    199 
    200 .tab-menu-box-2 .float-title {
    201     display: none;
    202     top: 0px;
    203     position: fixed;
    204     z-index: 50;
    205 }
    206 
    207 .tab-menu-box-2 .title {
    208      890px;
    209     border-bottom: 2px solid #b20101;
    210     border-left: 1px solid #e1e1e1;
    211     clear: both;
    212     height: 32px;
    213 }
    214 
    215 .tab-menu-box-2 .title a {
    216     float: left;
    217      107px;
    218     height: 31px;
    219     line-height: 31px;
    220     font-size: 14px;
    221     font-weight: bold;
    222     text-align: center;
    223     border-top: 1px solid #e1e1e1;
    224     border-right: 1px solid #e1e1e1;
    225     background: url(/Content/images/bg4.png?3) 0 -308px repeat-x;
    226     text-decoration: none;
    227     color: #333;
    228     cursor: pointer;
    229 }
    230 
    231 .tab-menu-box-2 .title a:hover {
    232     background-position: -26px -271px;
    233     text-decoration: none;
    234     color: #fff;
    235 }
    236 
    237 .tab-menu-box-2 .content {
    238     min-height: 100px;
    239     background-color: white;
    240 }
    241 
    242 
    243 .tab-menu-box3 {
    244     border: 1px solid #ddd;
    245 }
    246 
    247 .tab-menu-box3 .menu {
    248     line-height: 33px;
    249     height: 33px;
    250     background-color: #f5f5f5;
    251 }
    252 
    253 .tab-menu-box3 .content {
    254     height: 214px;
    255     border-top: 1px solid #ddd;
    256     background-color: white;
    257 }
    258 
    259 .tab-menu-box3 .menu ul {
    260     padding: 0;
    261     margin: 0;
    262     list-style: none;
    263     /*position: absolute;*/
    264 }
    265 
    266 .tab-menu-box3 .menu ul li {
    267     position: relative;
    268     float: left;
    269     font-size: 14px;
    270     font-family: 'Microsoft Yahei','SimHei';
    271     text-align: center;
    272     font-size: 14px;
    273     50%;
    274     cursor: pointer;
    275 }
    276  
    277 .tab-menu-box3 .menu ul li:hover {
    278     color: #c9033b;
    279 }
    280 
    281 .tab-menu-box3 .menu .more {
    282     float: right;
    283     font-size: 12px;
    284     padding-right: 10px;
    285     font-family: "宋体";
    286     color: #666;
    287     text-decoration: none;
    288 }
    289 
    290 .tab-menu-box3 .menu a:hover {
    291     color: #f60 !important;
    292     text-decoration: underline;
    293     font-weight: bold;
    294 }
    295 
    296 .tab-menu-box3 .menu .current {
    297 
    298     margin-top: -1px;
    299     color: #c9033b;
    300     background: #fff;
    301     height: 33px;
    302     border-top: 2px solid #c9033b;
    303     z-index: 10;
    304     font-weight: bold;
    305     
    306 }
    307 
    308 /*公共结束*/
    css
     1 <!DOCTYPE html>
     2 <html>
     3 <head></head>
     4 <link href="common.css" rel="stylesheet" />
     5 <body>
     6     <div class='container'>
     7         <div class='tab-menu-box1'>
     8             <div class='menu'>
     9                 <ul id='tab-menu-title'>
    10                     <li class='current' content-to='1'>价格趋势</li>
    11                     <li content-to='2'>市场分布</li>
    12                     <li content-to='3'>其他</li>
    13                 </ul>
    14             </div>
    15 
    16             <div id='tab-menu-body' class='content'>
    17                 <div content='1'>content1</div>
    18                 <div content='2' class='hide'>content2</div>
    19                 <div content='3' class='hide'>content3</div>
    20             </div>
    21         </div>
    22     </div>
    23     <script src="./jquery-1.8.2.js"></script>
    24     <script type='text/javascript'>
    25     $(function(){
    26         ChangeTab('#tab-menu-title', '#tab-menu-body');
    27     })
    28     function ChangeTab(title, body) {
    29             $(title).children().bind("click", function () {
    30                 $menu = $(this);
    31                 $content = $(body).find('div[content="' + $(this).attr("content-to") + '"]');
    32                 $menu.addClass('current').siblings().removeClass('current');
    33                 $content.removeClass('hide').siblings().addClass('hide');
    34             });
    35         }
    36     </script>
    37 </body>
    38 </html>
    html

    滚动菜单

      1 <!DOCTYPE html>
      2 <html>
      3 <head lang="en">
      4     <meta charset="UTF-8">
      5     <title></title>
      6     <style>
      7 
      8         body{
      9             margin: 0px;
     10         }
     11         img {
     12             border: 0;
     13         }
     14         ul{
     15             padding: 0;
     16             margin: 0;
     17             list-style: none;
     18         }
     19         .clearfix:after {
     20             content: ".";
     21             display: block;
     22             height: 0;
     23             clear: both;
     24             visibility: hidden;
     25         }
     26 
     27         .wrap{
     28             width: 980px;
     29             margin: 0 auto;
     30         }
     31         
     32         .pg-header{
     33             background-color: #303a40;
     34             -webkit-box-shadow: 0 2px 5px rgba(0,0,0,.2);
     35             -moz-box-shadow: 0 2px 5px rgba(0,0,0,.2);
     36             box-shadow: 0 2px 5px rgba(0,0,0,.2);
     37         }
     38         .pg-header .logo{
     39             float: left;
     40             padding:5px 10px 5px 0px;
     41         }
     42         .pg-header .logo img{
     43             vertical-align: middle;
     44             width: 110px;
     45             height: 40px;
     46 
     47         }
     48         .pg-header .nav{
     49             line-height: 50px;
     50         }
     51         .pg-header .nav ul li{
     52             float: left;
     53         }
     54         .pg-header .nav ul li a{
     55             display: block;
     56             color: #ccc;
     57             padding: 0 20px;
     58             text-decoration: none;
     59             font-size: 14px;
     60         }
     61         .pg-header .nav ul li a:hover{
     62             color: #fff;
     63             background-color: #425a66;
     64         }
     65         .pg-body{
     66 
     67         }
     68         .pg-body .catalog{
     69             position: absolute;
     70             top:60px;
     71             width: 200px;
     72             background-color: #fafafa;
     73             bottom: 0px;
     74         }
     75         .pg-body .catalog.fixed{
     76             position: fixed;
     77             top:10px;
     78         }
     79 
     80         .pg-body .catalog .catalog-item.active{
     81             color: #fff;
     82             background-color: #425a66;
     83         }
     84 
     85         .pg-body .content{
     86             position: absolute;
     87             top:60px;
     88             width: 700px;
     89             margin-left: 210px;
     90             background-color: #fafafa;
     91             overflow: auto;
     92         }
     93         .pg-body .content .section{
     94             height: 500px;
     95         }
     96     </style>
     97 </head>
     98 <body>
     99 
    100     <div class="pg-header">
    101         <div class="wrap clearfix">
    102             <div class="logo">
    103                 <a href="#">
    104                     <img src="http://core.pc.lietou-static.com/revs/images/common/logo_7012c4a4.pn">
    105                 </a>
    106             </div>
    107             <div class="nav">
    108                 <ul>
    109                     <li>
    110                         <a  href="#">首页</a>
    111                     </li>
    112                     <li>
    113                         <a  href="#">功能一</a>
    114                     </li>
    115                     <li>
    116                         <a  href="#">功能二</a>
    117                     </li>
    118                 </ul>
    119             </div>
    120 
    121         </div>
    122     </div>
    123     <div class="pg-body">
    124         <div class="wrap">
    125             <div class="catalog">
    126                 <div class="catalog-item" auto-to="function1"><a>第1张</a></div>
    127                 <div class="catalog-item" auto-to="function2"><a>第2张</a></div>
    128                 <div class="catalog-item" auto-to="function3"><a>第3张</a></div>
    129             </div>
    130             <div class="content">
    131                 <div menu="function1" class="section">
    132                     <h1>第一章</h1>
    133                 </div>
    134                 <div menu="function2" class="section">
    135                     <h1>第二章</h1>
    136                 </div>
    137                 <div menu="function3" class="section">
    138                     <h1>第三章</h1>
    139                 </div>
    140             </div>
    141         </div>
    142 
    143     </div>
    144 
    145     <script type="text/javascript" src="../js/jquery-1.8.2.min.js"></script>
    146     <script type="text/javascript">
    147         $(function(){
    148             Init();
    149         });
    150         function Init(){
    151             $(window).scroll(function() {
    152                 var scrollTop = $(window).scrollTop();
    153                 if(scrollTop > 50){
    154                     $('.catalog').addClass('fixed');
    155                 }else{
    156                     $('.catalog').removeClass('fixed');
    157                 }
    158                 $('.content').children().each(function(){
    159                     var offSet = $(this).offset();
    160                     var offTop = offSet.top - scrollTop;
    161                     var height = $(this).height();
    162 
    163                     if(offTop<=0 && offTop> -height){
    164                         //去除其他
    165                         //添加自己
    166                         var docHeight = $(document).height();
    167                         var winHeight = $(window).height();
    168 
    169                         if(docHeight == winHeight+scrollTop)
    170                         {
    171                             $('.catalog').find('div:last-child').addClass('active').siblings().removeClass('active');
    172                         }else{
    173                             var target = $(this).attr('menu');
    174                             $('.catalog').find('div[auto-to="'+target+'"]').addClass('active').siblings().removeClass('active');
    175                         }
    176 
    177 
    178                     }
    179                 });
    180 
    181             });
    182 
    183 
    184         }
    185 
    186     </script>
    187 </body>
    188 </html>
    滚动菜单

    登陆注册验证

      点击这里下载

    更多实例

      猛击这里下载

    .

    .

    参阅文档:http://www.cnblogs.com/wupeiqi/articles/4457274.html 

  • 相关阅读:
    MySQL中redo日志
    MySQL中事务的分类
    MySQL中事务的概述ACID了解
    MySQL中UNSIGNED和ZEROFILL的介绍
    MySQL中死锁
    谈谈当前火热的“车联网”
    线性代数回顾:矩阵运算
    Spark作业调度阶段分析
    Spark——共享变量
    Spark编译与打包
  • 原文地址:https://www.cnblogs.com/saneri/p/5188982.html
Copyright © 2020-2023  润新知