最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于javascript實現(xiàn)漂亮的頁面過渡動畫效果附源碼下載

 更新時間:2015年10月26日 11:57:37   投稿:mrr  
本文通過javascript實現(xiàn)漂亮的頁面過濾動畫效果,用戶通過點擊頁面左側(cè)的菜單,對應(yīng)的頁面加載時伴隨著滑動過濾動畫,并帶有進(jìn)度條效果。用戶體驗度非常好,感興趣的朋友一起看看吧

用戶通過點擊頁面左側(cè)的菜單,對應(yīng)的頁面加載時伴隨著滑動過濾動畫,并帶有進(jìn)度條效果。當(dāng)然頁面的加載是Ajax驅(qū)動的,整個加載過渡過程非常流暢,非常好的用戶體驗。

HTML

HTML結(jié)構(gòu)中,.cd-main包含頁面主體內(nèi)容,.cd-side-navigation包含著側(cè)邊導(dǎo)航條,#cd-loading-bar則是用來做進(jìn)度條動畫用的。

<nav class="cd-side-navigation"> 
  <ul> 
    <li> 
      <a href="index.html" class="selected" data-menu="index"> 
        <svg><!-- svg content here --></svg> 
        Intro 
      </a> 
    </li> 
    <li> 
      <!-- ... --> 
    </li> 
    <!-- other list items here --> 
  </ul> 
</nav> <!-- .cd-dashboard --> 
<main class="cd-main"> 
  <section class="cd-section index visible"> 
    <header> 
      <div class="cd-title"> 
        <h2>Animated Page Transition #2</h2> 
        <span>Some text here</span> 
      </div> 
      <a href="#index-content" class="cd-scroll">Scroll Down</a> 
    </header> 
    <div class="cd-content" id="index-content"> 
      <!-- content here --> 
    </div> <!-- .cd-content --> 
  </section> <!-- .cd-section --> 
</main> <!-- .cd-main --> 
<div id="cd-loading-bar" data-scale="1" class="index"></div> <!-- lateral loading bar --> 

CSS

我們將.cd-side-navigation固定在頁面左側(cè),并且設(shè)置它的高度為100%,這樣左側(cè)導(dǎo)航菜單就始終占據(jù)左側(cè)邊欄,右側(cè)主體內(nèi)容滾動時,左側(cè)導(dǎo)航菜單不動。

.cd-side-navigation { 
 position: fixed; 
 z-index: 3; 
 top: 0; 
 left: 0; 
 height: 100vh; 
 width: 94px; 
 overflow: hidden; 
} 
.cd-side-navigation ul { 
 height: 100%; 
 overflow-y: auto; 
} 
.cd-side-navigation::before { 
 /* background color of the side navigation */ 
 content: ''; 
 position: absolute; 
 top: 0; 
 left: 0; 
 height: 100%; 
 width: calc(100% - 4px); 
 background-color: #131519; 
} 
.cd-side-navigation li { 
 width: calc(100% - 4px); 
} 
.cd-side-navigation a { 
 display: block; 
 position: relative; 
} 
.cd-side-navigation a::after { 
 /* 4px line to the right of the item - visible on hover */ 
 content: ''; 
 position: absolute; 
 top: 0; 
 right: -4px; 
 height: 100%; 
 width: 4px; 
 background-color: #83b0b9; 
 opacity: 0; 
} 
.no-touch .cd-side-navigation a:hover::after { 
 opacity: 1; 
}

JavaScript

當(dāng)我們點擊左側(cè)菜單時,調(diào)用triggerAnimation()函數(shù),這個函數(shù)會觸發(fā)加載進(jìn)度條動畫函數(shù)loadingBarAnimation(),接著加載頁面內(nèi)容函數(shù):loadNewContent()。

function loadingBarAnimation() { 
  var scaleMax = loadingBar.data('scale'); 
  if( scaleY + 1 < scaleMax) { 
    newScaleValue = scaleY + 1; 
  } 
  // ... 
   
  loadingBar.velocity({ 
    scaleY: newScaleValue 
  }, 100, loadingBarAnimation); 
}

當(dāng)新頁面被選中時,一個新的元素.cd-section將會被創(chuàng)建并且插入到DOM中,然后load()新的url內(nèi)容。

function loadNewContent(newSection) { 
  var section = $('<section class="cd-section overflow-hidden '+newSection+'"></section>').appendTo(mainContent); 
   
  //load the new content from the proper html file 
  section.load(newSection+'.html .cd-section > *', function(event){ 
     
    loadingBar.velocity({ 
      scaleY: scaleMax //this is the scaleY value to cover the entire window height (100% loaded) 
    }, 400, function(){ 
       
      section.addClass('visible'); 
 
      var url = newSection+'.html'; 
 
      if(url!=window.location){ 
        //add the new page to the window.history 
        window.history.pushState({path: url},'',url); 
      } 
 
      // ... 
    }); 
  }); 
}

通過異步加載的頁面要返回上一頁歷史瀏覽記錄的話,可以點擊瀏覽器上的返回即可。返回上一頁同樣有過渡動畫效果。

相關(guān)文章

  • 如何只用echarts做個仿3d地圖功能

    如何只用echarts做個仿3d地圖功能

    由于業(yè)務(wù)需求,需要繪制3d地圖,所以下面這篇文章主要給大家介紹了關(guān)于如何只用echarts做個仿3d地圖功能的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-09-09
  • js實現(xiàn)一個逐步遞增的數(shù)字動畫

    js實現(xiàn)一個逐步遞增的數(shù)字動畫

    可視化大屏項目使用最多的組件就是數(shù)字組件,本文主要介紹了js實現(xiàn)一個逐步遞增的數(shù)字動畫,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • JavaScript字符串檢索字符的方法

    JavaScript字符串檢索字符的方法

    這篇文章主要為大家詳細(xì)介紹了JavaScript字符串檢索字符的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • JS基于設(shè)計模式中的單例模式(Singleton)實現(xiàn)封裝對數(shù)據(jù)增刪改查功能

    JS基于設(shè)計模式中的單例模式(Singleton)實現(xiàn)封裝對數(shù)據(jù)增刪改查功能

    這篇文章主要介紹了JS基于設(shè)計模式中的單例模式(Singleton)實現(xiàn)封裝對數(shù)據(jù)增刪改查功能.結(jié)合實例形式分析了javascript基于單例模式結(jié)合ajax針對數(shù)據(jù)庫進(jìn)行增刪改查的相關(guān)操作技巧,需要的朋友可以參考下
    2018-02-02
  • 給文字加上著重號的JS代碼

    給文字加上著重號的JS代碼

    這篇文章介紹了給文字加上著重號的JS代碼,有需要的朋友可以參考一下
    2013-11-11
  • JavaScript判斷頁面是否滾動到底部的技巧

    JavaScript判斷頁面是否滾動到底部的技巧

    在 JavaScript 中,我們可以通過一些技巧來判斷頁面是否滾動到底部,本文將介紹一些常用的方法,幫助你在項目中實現(xiàn)這一功能,文中通過代碼示例介紹的非常詳細(xì),需要的朋友可以參考下
    2023-11-11
  • 微信小程序之GET請求的實例詳解

    微信小程序之GET請求的實例詳解

    這篇文章主要介紹了微信小程序之GET請求的實例詳解的相關(guān)資料,希望通過本文能幫助到大家,讓大家理解掌握該如何使用get請求,需要的朋友可以參考下
    2017-09-09
  • 微信小程序?qū)崿F(xiàn)簡單跑馬燈效果

    微信小程序?qū)崿F(xiàn)簡單跑馬燈效果

    這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)簡單跑馬燈效果 ,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • JavaScript各類型的關(guān)系圖解

    JavaScript各類型的關(guān)系圖解

    這篇文章主要通過一張圖讓你看懂JavaScript各類型的關(guān)系,需要的朋友可以參考下
    2015-10-10
  • TensorFlow.js 微信小程序插件開始支持模型緩存的方法

    TensorFlow.js 微信小程序插件開始支持模型緩存的方法

    這篇文章主要介紹了TensorFlow.js 微信小程序插件開始支持模型緩存的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02

最新評論

浦城县| 神农架林区| 麻江县| 漳平市| 甘德县| 当阳市| 铜山县| 商都县| 临泽县| 汉中市| 霞浦县| 焦作市| 铜山县| 偃师市| 澳门| 任丘市| 蒲城县| 宁都县| 张家口市| 洞口县| 临夏县| 辽宁省| 榕江县| 邳州市| 建平县| 黄浦区| 青岛市| 手游| 巴林右旗| 体育| 河北区| 敖汉旗| 洪湖市| 黎平县| 鄂州市| 遂平县| 大冶市| 安达市| 嘉定区| 庄浪县| 旬邑县|