自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

jQ建立按字母順序排列的友好頁(yè)面索引

開發(fā) 前端
在本教程中,我將探討一個(gè)解決方案,創(chuàng)建一個(gè)簡(jiǎn)單的頁(yè)面索引,并采用錨點(diǎn)鏈接在頁(yè)面上。"跳轉(zhuǎn)"動(dòng)作進(jìn)行動(dòng)畫處理,向下滾動(dòng)到達(dá)這個(gè)鏈接的容器。(完美兼容IE6,7,8)

大多數(shù)Web開發(fā)人員很可能很熟悉使用錨鏈接跳轉(zhuǎn)到的頁(yè)面部分的解決方案。你可以設(shè)置一個(gè)特定的name屬性的錨鏈接,并使用href值作為哈希符號(hào)來跳過頁(yè)面。這種效果當(dāng)需要列出很長(zhǎng)的數(shù)據(jù)集時(shí),是非常實(shí)用的,比方說一個(gè)FAQ頁(yè)面,一問一答的形式經(jīng)常采用這樣的效果,然而頁(yè)面跳轉(zhuǎn)對(duì)于游客來說有時(shí)候并不是好友好,因?yàn)樗稽c(diǎn)擊直接跳轉(zhuǎn),陌生的游客對(duì)此可能感到困惑,不知道當(dāng)前的數(shù)據(jù)跑那里去了,

在本教程中,我將探討一個(gè)解決方案,創(chuàng)建一個(gè)簡(jiǎn)單的頁(yè)面索引,并采用錨點(diǎn)鏈接在頁(yè)面上。"跳轉(zhuǎn)"動(dòng)作進(jìn)行動(dòng)畫處理,向下滾動(dòng)到達(dá)這個(gè)鏈接的容器。(完美兼容IE6,7,8)

[[106693]]

在線演示

布局

首先是基本的index.html頁(yè)面,我加入了一個(gè)典型的HTML5文檔類型。styles.css為我們的頁(yè)面樣式表,indexscroller.js自定義的jQuery代碼。

使用jquery代碼別忘記引入谷歌jquery庫(kù),舊的瀏覽器不支持HTML5的html5shiv trunk 庫(kù)的副本。在主體部分我使用的是定制的谷歌Webfont字體,以及與一些藝術(shù)CSS3效果。

  1. <!doctype html> 
  2.  <html lang="en-US"> 
  3.  <head> 
  4.    <meta http-equiv="Content-Type" content="text/html;charset=utf-8"> 
  5.    <title>jQuery Alphabetical Scrolling Links Index</title> 
  6.    <meta name="author" content="Jake Rocheleau"> 
  7.    <link rel="shortcut icon" href="http://spyrestudios.com/favicon.ico"> 
  8.    <link rel="icon" href="http://spyrestudios.com/favicon.ico"> 
  9.    <link rel="stylesheet" type="text/css" href="styles.css"> 
  10.    <link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Milonga"> 
  11.    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> 
  12.    <script type="text/javascript" charset="utf-8" src="indexscroller.js"></script> 
  13.  <!--[if lt IE 9]> 
  14.    <script type="text/javascript" src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script> 
  15.  <![endif]--> 
  16.  </head> 

主體內(nèi)容

錨鏈接的href值在頁(yè)面上按字母順序列出的目標(biāo)索引。從indexa到#indexg都針對(duì)其他頁(yè)面上錨鏈接上面的匹配的name屬性的值。

  1. <div id="w"> 
  2.      <H1>動(dòng)態(tài)jQuery的滾動(dòng)鏈接​​索引</ h1>      
  3.      <div id="container"> 
  4.        <nav id="links"> 
  5.          <ul class="clearfix"> 
  6.            <li class="label">快速鏈接:</ P> 
  7.            <LI> <A href="#indexa"> A </ A> </ P> 
  8.            <LI> <A href="#indexb"> B </ A> </ P> 
  9.            <LI> <A href="#indexc"> C </ A> </ P> 
  10.            <LI> <A href="#indexd"> D </ A> </ P> 
  11.            <LI> <A href="#indexe"> E </ A> </ P> 
  12.            <LI> <A href="#indexf"> F </ A> </ P> 
  13.            <LI> <A href="#indexg"> G </ A> </ P> 
  14.          </ ul> 
  15.        </div> 

下面是name為 indexb的錨鏈接的具體滾動(dòng)內(nèi)容:當(dāng)你點(diǎn)擊<LI> <A href="#indexb"> B </ A> </ P> 他就會(huì)跳轉(zhuǎn)到這個(gè)地方

  1. <div class="show">  
  2.    <h2>Arrested Development <span class="meta"><a href="http://en.wikipedia.org/wiki/Arrested_Development_(TV_series)" target="_blank">Wikipedia</a> - <a href="http://www.imdb.com/title/tt0367279/" target="_blank">IMDB</a></span></h2>  
  3.    <p><img src="images/arrested-development.png" alt="Arrested Development TV Show" width="570" height="280"></p>  
  4.  </div>  
  5.  <a name="indexb"></a>  
  6.  <div class="show">  
  7.    <h2>The Big Bang Theory <span class="meta"><a href="http://en.wikipedia.org/wiki/The_Big_Bang_Theory" target="_blank">Wikipedia</a> - <a href="http://www.imdb.com/title/tt0898266/" target="_blank">IMDB</a></span></h2>  
  8.    <p><img src="images/big-bang-theory.png" alt="The Big Bang Theory TV Show" width="570" height="280"></p>  
  9.  </div> 

CSS頁(yè)面樣式

一些默認(rèn)的樣式表的內(nèi)容。除了典型的CSS重置 我用的是CSS3陰影

  1. /* 頁(yè)面主要樣式布局 */ 
  2.  #w { width620pxmargin0 autopadding-top55px; }   
  3.  #container {   
  4.    padding14px 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.  } 

在每個(gè)錨鏈接停止之前,在他的頂部設(shè)置一個(gè)padding-top:8px的大小。這樣,我們的滾動(dòng)效果不停止在每個(gè)標(biāo)題的頂部,有一些額外的空白

  1. /* 具體的每個(gè)跳轉(zhuǎn)到錨鏈接的樣式DIV */ 
  2.  #shows { displayblock; }  
  3.  .show { displayblockpadding-top8pxmargin-bottom23px; }  
  4.  .meta { font-familyArialVerdanasans-serifcolor#222font-size0.8emfont-weightboldfloatright; }  
  5.  /* clearfix */ 
  6.  .clearfix:after { content"."displayblockclearbothvisibilityhiddenline-height0height0; }  
  7.  .clearfix { display: inline-block; }  
  8.  html[xmlns] .clearfix { displayblock; }  
  9.  * html .clearfix { height1%; } 

此外,元信息包含在每個(gè)頭塊的HTML標(biāo)記,以節(jié)省空間。所以,我們是浮動(dòng)的內(nèi)容,并使用CSS clearfix的布局結(jié)構(gòu)。

jQuery的scrollTop

jQuery有命名.scrollTop()方法,使用這種技術(shù),可以拉動(dòng)當(dāng)前的像素值從頁(yè)面頂部的任何其他選擇的元素。我們從列表向下滾動(dòng),準(zhǔn)確的錨鏈接。

  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加載完成后,會(huì)發(fā)生什么情況。

#links內(nèi)部鏈接錨被點(diǎn)擊之后,我們立即調(diào)用e.preventDefault() 。這將停止從附加到URL的頁(yè)面跳了下來瞬間的哈希值。然后使用一個(gè)新的jquery.hash屬性,我們可以確切的獲取href值后的哈希符號(hào)。因此,舉例來說,我們的第一個(gè)索引鏈接會(huì)返回值“indexa”。

使用這種新的屬性,我們可以針對(duì)相應(yīng)的錨鏈接頁(yè)面上的name屬性相匹配。我們?cè)O(shè)置這個(gè)新anchorid的變量,使用anchorid.offset()可以訪問距離頂部的絕對(duì)像素。最后加入所有這些代碼到一個(gè)簡(jiǎn)單的jQuery .animate()方法。

原文鏈接:http://www.cnblogs.com/58top/archive/2012/12/24/how-to-build-alphabetical-index-using-jquery.html

責(zé)任編輯:張偉 來源: 博客園
相關(guān)推薦

2023-06-09 09:32:52

DeepMindC++庫(kù)算法

2013-08-12 09:13:40

2018-05-10 08:20:23

自然語言數(shù)據(jù)集數(shù)據(jù)

2022-01-12 14:07:51

數(shù)據(jù)中心數(shù)據(jù)中心架構(gòu)數(shù)據(jù)中心網(wǎng)絡(luò)

2021-04-26 08:28:55

數(shù)據(jù)科學(xué)機(jī)器學(xué)習(xí)數(shù)據(jù)科學(xué)工具

2010-08-31 14:57:30

2018-05-03 15:09:22

人工智能機(jī)器學(xué)習(xí)深度學(xué)習(xí)

2017-02-21 15:00:06

Android庫(kù)

2018-08-11 05:16:07

SD-WANWAN網(wǎng)絡(luò)技術(shù)

2017-06-16 14:28:09

2018-05-10 09:00:57

數(shù)據(jù)分析工具可視化

2010-11-29 10:22:46

Sybase建立索引

2010-05-31 12:31:42

MySQL建立索引

2024-03-01 09:57:19

數(shù)據(jù)庫(kù)檢索項(xiàng)目

2017-06-16 21:00:02

Python爬蟲

2023-01-28 08:24:28

MySQL索引B+樹

2011-08-23 09:33:19

Ubuntu系統(tǒng)托盤

2020-12-07 15:16:04

排序算法

2021-05-17 21:30:06

Python求均值中值

2019-01-08 14:51:24

數(shù)據(jù)中心服務(wù)器互聯(lián)網(wǎng)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)