jQ建立按字母顺序排列的友好页面索引

大多数Web开发人员很可能很熟悉使用锚链接跳转到的页面部分的解决方案。你可以设置一个特定的name属性的锚链接,并使用href值作为哈希符号来跳过页面。这种效果当需要列出很长的数据集时,是非常实用的,比方说一个FAQ页面,一问一答的形式经常采用这样的效果,然而页面跳转对于游客来说有时候并不是好友好,因为他一点击直接跳转,陌生的游客对此可能感到困惑,不知道当前的数据跑那里去了,

专注于为中小企业提供网站建设、成都网站制作服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业于田免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上千多家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

在本教程中,我将探讨一个解决方案,创建一个简单的页面索引,并采用锚点链接在页面上。"跳转"动作进行动画处理,向下滚动到达这个链接的容器。(完美兼容IE6,7,8)

在线演示

布局

首先是基本的index.html页面,我加入了一个典型的HTML5文档类型。styles.css为我们的页面样式表,indexscroller.js自定义的jQuery代码。

使用jquery代码别忘记引入谷歌jquery库,旧的浏览器不支持HTML5的html5shiv trunk 库的副本。在主体部分我使用的是定制的谷歌Webfont字体,以及与一些艺术CSS3效果。

 
 
 
 
  1.  
  2.   
  3.   
  4.     
  5.    jQuery Alphabetical Scrolling Links Index 
  6.     
  7.     
  8.     
  9.     
  10.     
  11.     
  12.     
  13.   
  14.   

主体内容

锚链接的href值在页面上按字母顺序列出的目标索引。从indexa到#indexg都针对其他页面上锚链接上面的匹配的name属性的值。

 
 
 
 
  1.  
  2.      

    动态jQuery的滚动链接​​索引      

  3.       
  4.         
  5.           
  6.            快速链接: 
  7.            
  8.   A   
  9.            
  10.   B   
  11.            
  12.   C   
  13.            
  14.   D   
  15.            
  16.   E   
  17.            
  18.   F   
  19.            
  20.   G   
  21.           
  22.        
 

下面是name为 indexb的锚链接的具体滚动内容:当你点击

  • B 他就会跳转到这个地方

     
     
     
     
    1.  
    2.    

      Arrested Development Wikipedia - IMDB

       
    3.    

       
    4.  
  •  
  •    
  •    
  •    

    The Big Bang Theory Wikipedia - IMDB

     
  •    

     
  •  
  •  

    CSS页面样式

    一些默认的样式表的内容。除了典型的CSS重置 我用的是CSS3阴影

     
     
     
     
    1. /* 页面主要样式布局 */ 
    2.  #w { width: 620px; margin: 0 auto; padding-top: 55px; }   
    3.  #container {   
    4.    padding: 14px 20px;  
    5.    background: #fff;  
    6.    -webkit-box-shadow: 2px 2px 1px rgba(0,0,0,0.35);  
    7.    -moz-box-shadow: 2px 2px 1px rgba(0,0,0,0.35);  
    8.    box-shadow: 2px 2px 1px rgba(0,0,0,0.35);  
    9.    -webkit-border-radius: 5px;  
    10.    -moz-border-radius: 5px;  
    11.    border-radius: 5px;  
    12.  } 

    在每个锚链接停止之前,在他的顶部设置一个padding-top:8px的大小。这样,我们的滚动效果不停止在每个标题的顶部,有一些额外的空白

     
     
     
     
    1. /* 具体的每个跳转到锚链接的样式DIV */ 
    2.  #shows { display: block; }  
    3.  .show { display: block; padding-top: 8px; margin-bottom: 23px; }  
    4.  .meta { font-family: Arial, Verdana, sans-serif; color: #222; font-size: 0.8em; font-weight: bold; float: right; }  
    5.  /* clearfix */ 
    6.  .clearfix:after { content: "."; display: block; clear: both; visibility: hidden; line-height: 0; height: 0; }  
    7.  .clearfix { display: inline-block; }  
    8.  html[xmlns] .clearfix { display: block; }  
    9.  * html .clearfix { height: 1%; } 

    此外,元信息包含在每个头块的HTML标记,以节省空间。所以,我们是浮动的内容,并使用CSS clearfix的布局结构。

    jQuery的scrollTop

    jQuery有命名.scrollTop()方法,使用这种技术,可以拉动当前的像素值从页面顶部的任何其他选择的元素。我们从列表向下滚动,准确的锚链接。

     
     
     
     
    1. $(document).ready(function(){  
    2.    $('#links > ul > li > a').on('click', function(e){  
    3.      e.preventDefault();  
    4.      var anchorid = $(this.hash);  
    5.        
    6.      if(anchorid.length == 0) anchorid = $('a[name="' + this.hash.substr(1) + '"]');  
    7.      else anchorid = $('html');  
    8.        
    9.      $('html, body').animate({ scrollTop: anchorid.offset().top }, 450);  
    10.    });  
    11.  }); 

    这里的indexscroller.js。它似乎没有太多代码,但是,让我们看看DOM加载完成后,会发生什么情况。

    #links内部链接锚被点击之后,我们立即调用e.preventDefault() 。这将停止从附加到URL的页面跳了下来瞬间的哈希值。然后使用一个新的jquery.hash属性,我们可以确切的获取href值后的哈希符号。因此,举例来说,我们的第一个索引链接会返回值“indexa”。

    使用这种新的属性,我们可以针对相应的锚链接页面上的name属性相匹配。我们设置这个新anchorid的变量,使用anchorid.offset()可以访问距离顶部的绝对像素。最后加入所有这些代码到一个简单的jQuery .animate()方法。

    当前标题:jQ建立按字母顺序排列的友好页面索引
    网页网址:http://www.shufengxianlan.com/qtweb/news5/151505.html

    网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

    广告

    声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

    猜你还喜欢下面的内容

    网站营销知识

    同城分类信息