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

Swiper實現(xiàn)導航欄滾動效果

 更新時間:2020年10月16日 09:55:25   作者:HAN_韓  
這篇文章主要為大家詳細介紹了Swiper實現(xiàn)導航欄滾動效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

在一些移動app中,總能看到導航欄是可以滾動,下列例子是在vant的官方文檔中看到的,這樣的滾動效果利用Swiper也可以實現(xiàn),效果實現(xiàn)的思路是,根據當前點擊的“標簽”為起點,當前標簽”的位置大于視口的一半時,讓容器的位置偏移一定的位置,讓當前點擊的“標簽”始終在視口的中間位置。

1、引入相關插件

<link rel="stylesheet" href="../css/swiper.css" >
<script src="http://www.jq22.com/jquery/jquery-1.7.1.js"></script>
<script src="../js/swiper.js"></script>

2、編寫view(界面)

<div class="box">
 <div class="swiper-container">
 <div class="swiper-wrapper">
 <div class="swiper-slide">綜合</div>
 <div class="swiper-slide">單曲</div>
 <div class="swiper-slide">視頻</div>
 <div class="swiper-slide">歌手</div>
 <div class="swiper-slide">專輯</div>
 <div class="swiper-slide">歌單</div>
 <div class="swiper-slide">主播電臺</div>
 <span></span>
 </div>
 </div>
</div>

3、編寫style

*{
 margin: 0;
 padding: 0;
 }
 .box{
 width: 500px;
 height: 50px;
 border: 1px solid #000;
 margin: 100px auto;
 }
 .swiper-container{
 width: auto!important;
 height: 100%;
 text-align: center;
 line-height: 50px;
 color: #000;
 font-size: 20px;
 }
 .swiper-wrapper{
 position: relative;
 width: auto!important;
 height: 100%;
 }
 .swiper-slide {
 list-style: none;
 display: flex;
 justify-content: flex-start;
 flex-wrap: nowrap;
 cursor: pointer;
 }
 .swiper-wrapper span{
 position: absolute;
 height: 3px;
 background: #000;
 left: 1%;
 top: 85%;
 }
 .swiper-slide{
 width: auto!important;
 margin-right: 15px!important;
 padding: 0 18px;
 }

為了讓每個swiper-slide的寬度由內容撐起,右邊顯示一半是提示用戶這個導航欄是可以滾動的,所以在初始化時要設置swiper的slidesPerView為auto,slidesPerView: “auto”, 同時要在css設置swiper-slide的樣式為:

 .swiper-slide{
 width: auto!important;
 margin-right: 15px!important;
 padding: 0 18px;
 }

這樣swiper-slide的寬度就是由內容撐起了,而且可以自由的進行滾動了

4、編寫js

$(function () {
 $(".swiper-wrapper span").css({width: $(".swiper-slide")[0].offsetWidth});
 let navScroll = new Swiper('.box .swiper-container', {
 freeMode:true,
 slidesPerView: "auto",
 freeModeMomentumRatio: 0.5,
 on:{
 //當前swiper-slide點擊時觸發(fā)事件
 click:function (e) {
  let thisWidth = this.clickedSlide.offsetWidth;
  let thisLeft = this.clickedSlide.offsetLeft;
  let offsetX = this.width / 2 - thisLeft - thisWidth / 2;
  //偏移量在1/2視口內時,容器不發(fā)生偏移
  if (offsetX > 0){
  offsetX = 0;
  }
  //offsetX小于容器最大偏移時,讓偏移量等于容器最大的偏移量
  else if (offsetX < this.maxTranslate()){
  offsetX = this.maxTranslate();
  }
  //設置容器的過渡動畫
  this.setTransition(300);
  this.setTranslate(offsetX);
  //滾動條位置和長度執(zhí)行動畫
  $(".swiper-wrapper span").animate({left: thisLeft, width: thisWidth},400);
 }
 }
 });
 })

最終效果

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • echart在微信小程序的使用簡單示例

    echart在微信小程序的使用簡單示例

    最近公司的項目中需要在小程序內使用echarts組件來展示數據,下面這篇文章主要給大家介紹了關于echart在微信小程序的使用方法,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-02-02
  • javascript正則表達式中分組詳解

    javascript正則表達式中分組詳解

    這篇文章主要介紹了javascript正則表達式中分組的相關資料,包括捕獲性分組和非捕獲性分組,需要的朋友可以參考下
    2016-07-07
  • 淺析JavaScript中的事件委托機制跟深淺拷貝

    淺析JavaScript中的事件委托機制跟深淺拷貝

    這篇文章主要介紹了JavaScript中的事件委托機制跟深淺拷貝,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01
  • 動態(tài)加載外部javascript文件的函數代碼分享

    動態(tài)加載外部javascript文件的函數代碼分享

    動態(tài)加載外部javascript文件的函數代碼分享,做個記錄備忘,方便查找。
    2011-07-07
  • JavaScript使用鏈式方法封裝jQuery中CSS()方法示例

    JavaScript使用鏈式方法封裝jQuery中CSS()方法示例

    這篇文章主要介紹了JavaScript使用鏈式方法封裝jQuery中CSS()方法,結合具體實例形式分析了JS采用鏈式操作方法封住jQuery中連綴操作實現(xiàn)css()方法的相關技巧,需要的朋友可以參考下
    2017-04-04
  • JS使用window.requestAnimationFrame()實現(xiàn)逐幀動畫

    JS使用window.requestAnimationFrame()實現(xiàn)逐幀動畫

    這篇文章介紹了JS使用window.requestAnimationFrame()實現(xiàn)逐幀動畫的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06
  • javascript刷新父頁面的各種方法匯總

    javascript刷新父頁面的各種方法匯總

    這篇文章主要對javascript刷新父頁面的各種方法做下匯總,需要的朋友可以參考下
    2014-09-09
  • JSON.stringify的多種用法總結

    JSON.stringify的多種用法總結

    這篇文章主要給大家介紹了關于JSON.stringify使用的相關資料, JSON.stringify()方法是將一個JavaScript值(對象或者數組)轉換為一個 JSON字符串,需要的朋友可以參考下
    2021-06-06
  • JavaScript數據類型轉換簡單方法舉例

    JavaScript數據類型轉換簡單方法舉例

    JavaScript是一種無類型語言,但同時JavaScript提供了一種靈活的自動類型轉換的處理方式,下面這篇文章主要給大家介紹了關于JavaScript數據類型轉換的相關資料,需要的朋友可以參考下
    2023-12-12
  • JavaScript內存泄漏的處理方式

    JavaScript內存泄漏的處理方式

    這篇文章主要介紹了JavaScript內存泄漏的處理方式,通過理論和實例結合的方式讓你理解的更加透徹。
    2017-11-11

最新評論

瓮安县| 平邑县| 锦屏县| 永靖县| 墨江| 兴仁县| 太保市| 宁南县| 绍兴市| 安西县| 宝丰县| 定边县| 盘山县| 那曲县| 通州市| 临沭县| 绿春县| 景德镇市| 济宁市| 梁河县| 静宁县| 太仓市| 新民市| 青浦区| 宜黄县| 宜丰县| 赫章县| 开封市| 平乐县| 闸北区| 申扎县| 宜都市| 祁门县| 阳曲县| 高淳县| 亚东县| 呼图壁县| 望奎县| 贡嘎县| 阜南县| 舟曲县|