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

js實(shí)現(xiàn)移動(dòng)端導(dǎo)航點(diǎn)擊自動(dòng)滑動(dòng)效果

 更新時(shí)間:2017年07月18日 14:10:15   作者:HeavyShell  
這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)移動(dòng)端導(dǎo)航點(diǎn)擊自動(dòng)滑動(dòng)效果,導(dǎo)航可左右滑動(dòng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了js實(shí)現(xiàn)移動(dòng)端導(dǎo)航點(diǎn)擊滑動(dòng)效果的具體代碼,供大家參考,具體內(nèi)容如下

移動(dòng)端模擬導(dǎo)航可點(diǎn)擊自動(dòng)滑動(dòng) 0.1.4。

導(dǎo)航可左右滑動(dòng),可點(diǎn)擊邊緣的一個(gè),自動(dòng)滾動(dòng)下一個(gè)到可視范圍【依賴于iscroll.js】。

廢話不多說直接上代碼:

/* 
 * 移動(dòng)端模擬導(dǎo)航可點(diǎn)擊自動(dòng)滑動(dòng) 0.1.4 
 * Date: 2017-01-11 
 * by: xiewei 
 * 導(dǎo)航可左右滑動(dòng),可點(diǎn)擊邊緣的一個(gè),自動(dòng)滾動(dòng)下一個(gè)到可視范圍【依賴于iscroll.js】 
 */ 
(function ($) { 
 $.fn.navbarscroll = function (options) { 
 //各種屬性、參數(shù) 
 var _defaults = { 
 className:'cur', //當(dāng)前選中點(diǎn)擊元素的class類名 
 clickScrollTime:300, //點(diǎn)擊后滑動(dòng)時(shí)間 
 duibiScreenWidth:0.4, //單位以rem為準(zhǔn),默認(rèn)為0.4rem 
 scrollerWidth:3, //單位以px為準(zhǔn),默認(rèn)為3,[僅用于特殊情況:外層寬度因?yàn)樾?shù)點(diǎn)造成的不精準(zhǔn)情況] 
 defaultSelect:0, //初始選中第n個(gè),默認(rèn)第0個(gè) 
 fingerClick:0, //目標(biāo)第0或1個(gè)選項(xiàng)觸發(fā),必須每一項(xiàng)長度一致,方可用此項(xiàng) 
 endClickScroll:function(thisObj){}//回調(diào)函數(shù) 
 } 
 var _opt = $.extend(_defaults, options); 
 this.each(function () { 
 //插件實(shí)現(xiàn)代碼 
 var _wrapper = $(this); 
 var _win = $(window); 
 var _win_width = _win.width(),_wrapper_width = _wrapper.width(),_wrapper_off_left = _wrapper.offset().left; 
 var _wrapper_off_right=_win_width-_wrapper_off_left-_wrapper_width; 
 var _obj_scroller = _wrapper.children('.scroller'); 
 var _obj_ul = _obj_scroller.children('ul'); 
 var _obj_li = _obj_ul.children('li'); 
 var _scroller_w = 0; 
 _obj_li.css({"margin-left":"0","margin-right":"0"}); 
 for (var i = 0; i < _obj_li.length; i++) { 
 _scroller_w += _obj_li[i].offsetWidth; 
 } 
 _obj_scroller.width(_scroller_w+_opt.scrollerWidth); 
 var myScroll = new IScroll('#'+_wrapper.attr('id'), { 
 eventPassthrough: true, 
 scrollX: true, 
 scrollY: false, 
 preventDefault: false 
 }); 
 _init(_obj_li.eq(_opt.defaultSelect)); 
 _obj_li.click(function(){ 
 _init($(this)); 
 }); 
 //解決PC端谷歌瀏覽器模擬的手機(jī)屏幕出現(xiàn)莫名的卡頓現(xiàn)象,滑動(dòng)時(shí)禁止默認(rèn)事件(2017-01-11) 
 _wrapper[0].addEventListener('touchmove',function (e){e.preventDefault();},false); 
 function _init(thiObj){ 
 var $this_obj=thiObj; 
 var duibi=_opt.duibiScreenWidth*_win_width/10,this_index=$this_obj.index(),this_off_left=$this_obj.offset().left,this_pos_left=$this_obj.position().left,this_width=$this_obj.width(),this_prev_width=$this_obj.prev('li').width(),this_next_width=$this_obj.next('li').width(); 
 var this_off_right=_win_width-this_off_left-this_width; 
 if(_scroller_w+2>_wrapper_width){ 
  if(_opt.fingerClick==1){ 
  if(this_index==1){ 
  myScroll.scrollTo(-this_pos_left+this_prev_width,0, _opt.clickScrollTime); 
  }else if(this_index==0){ 
  myScroll.scrollTo(-this_pos_left,0, _opt.clickScrollTime); 
  }else if(this_index==_obj_li.length-2){ 
  myScroll.scrollBy(this_off_right-_wrapper_off_right-this_width,0, _opt.clickScrollTime); 
  }else if(this_index==_obj_li.length-1){ 
  myScroll.scrollBy(this_off_right-_wrapper_off_right,0, _opt.clickScrollTime); 
  }else{ 
  if(this_off_left-_wrapper_off_left-(this_width*_opt.fingerClick)<duibi){ 
  myScroll.scrollTo(-this_pos_left+this_prev_width+(this_width*_opt.fingerClick),0, _opt.clickScrollTime); 
  }else if(this_off_right-_wrapper_off_right-(this_width*_opt.fingerClick)<duibi){ 
  myScroll.scrollBy(this_off_right-this_next_width-_wrapper_off_right-(this_width*_opt.fingerClick),0, _opt.clickScrollTime); 
  } 
  } 
  }else{ 
  if(this_index==1){ 
  myScroll.scrollTo(-this_pos_left+this_prev_width,0, _opt.clickScrollTime); 
  }else if(this_index==_obj_li.length-1){ 
  if(this_off_right-_wrapper_off_right>1||this_off_right-_wrapper_off_right<-1){ 
  myScroll.scrollBy(this_off_right-_wrapper_off_right,0, _opt.clickScrollTime); 
  } 
  }else{ 
  if(this_off_left-_wrapper_off_left<duibi){ 
  myScroll.scrollTo(-this_pos_left+this_prev_width,0, _opt.clickScrollTime); 
  }else if(this_off_right-_wrapper_off_right<duibi){ 
  myScroll.scrollBy(this_off_right-this_next_width-_wrapper_off_right,0, _opt.clickScrollTime); 
  } 
  } 
  } 
 } 
 $this_obj.addClass(_opt.className).siblings('li').removeClass(_opt.className); 
 _opt.endClickScroll.call(this,$this_obj); 
 } 
 }); 
 }; 
})(jQuery);

截圖:

提供demo地址:

更多關(guān)于滑動(dòng)效果的專題,請點(diǎn)擊下方鏈接查看:

javascript滑動(dòng)操作匯總

jquery滑動(dòng)操作匯總

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • javascript bind綁定函數(shù)代碼

    javascript bind綁定函數(shù)代碼

    bind函數(shù),顧名思義,用于為調(diào)用函數(shù)綁定一個(gè)作用域,因?yàn)閠his很容易跟丟它原來所在的作用域,直接指向頂層的window對(duì)象。
    2010-01-01
  • canvas實(shí)現(xiàn)鐘表效果

    canvas實(shí)現(xiàn)鐘表效果

    本文主要分享了canvas實(shí)現(xiàn)鐘表效果的示例代碼。具有很好的參考價(jià)值,下面跟著小編一起來看下吧
    2017-02-02
  • 第一章之初識(shí)Bootstrap

    第一章之初識(shí)Bootstrap

    這篇文章主要介紹了第一章之初識(shí)Bootstrap的相關(guān)資料,需要的朋友可以參考下
    2016-04-04
  • JavaScript手寫源碼之omit函數(shù)的實(shí)現(xiàn)

    JavaScript手寫源碼之omit函數(shù)的實(shí)現(xiàn)

    最近突然有個(gè)新的想法,想去看看前端的小庫來提升自己的編碼能力。但是又不知道怎么去證明自己是否真的看懂了,那就實(shí)現(xiàn)一個(gè)omit函數(shù)吧
    2023-02-02
  • 使用hasOwnProperty時(shí)報(bào)錯(cuò)的解決方法

    使用hasOwnProperty時(shí)報(bào)錯(cuò)的解決方法

    hasOwnProperty這個(gè)方法是用來查找一個(gè)對(duì)象是否有某個(gè)屬性,且查找的屬性必須是對(duì)象本身的一個(gè)成員,但是不會(huì)去查找對(duì)象的原型鏈,文中介紹了使用示例代碼及使用時(shí)可能會(huì)遇到的問題,對(duì)hasOwnProperty報(bào)錯(cuò)原因分析及解決方法感興趣的朋友一起看看吧
    2024-01-01
  • TypeScript 中接口詳解

    TypeScript 中接口詳解

    TypeScript核心設(shè)計(jì)原則之一就是類型檢查,通過使用接口(Interfaces)可以進(jìn)行類型檢查,滿足傳統(tǒng)面向?qū)ο笏枷?,利于有效開發(fā),有效避免類型轉(zhuǎn)換問題。
    2015-06-06
  • JS實(shí)現(xiàn)self的resend

    JS實(shí)現(xiàn)self的resend

    self中resend是調(diào)用“基類方法”的原語,它會(huì)把當(dāng)前接收到的消息原樣發(fā)送給其原型(parent*)。在ECMA-v5時(shí)代,我們終于可以做出這個(gè)偉大的東西了。
    2010-07-07
  • JavaScript Image對(duì)象實(shí)現(xiàn)原理實(shí)例解析

    JavaScript Image對(duì)象實(shí)現(xiàn)原理實(shí)例解析

    這篇文章主要介紹了JavaScript Image對(duì)象實(shí)現(xiàn)原理實(shí)例解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • JS實(shí)現(xiàn)去除數(shù)組中重復(fù)json的方法示例

    JS實(shí)現(xiàn)去除數(shù)組中重復(fù)json的方法示例

    這篇文章主要介紹了JS實(shí)現(xiàn)去除數(shù)組中重復(fù)json的方法,涉及javascript針對(duì)json數(shù)組數(shù)據(jù)的遍歷、判斷、存取等相關(guān)操作技巧,需要的朋友可以參考下
    2017-12-12
  • 11個(gè)教程中不常被提及的JavaScript小技巧(推薦)

    11個(gè)教程中不常被提及的JavaScript小技巧(推薦)

    這篇文章主要介紹了11個(gè)教程中不常被提及的JavaScript小技巧,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04

最新評(píng)論

天等县| 东丰县| 泰州市| 香港 | 额济纳旗| 高碑店市| 汪清县| 尼勒克县| 巴楚县| 交口县| 方山县| 长武县| 海林市| 普陀区| 老河口市| 攀枝花市| 邯郸市| 方正县| 阿瓦提县| 唐河县| 霍林郭勒市| 天津市| 彭山县| 阿拉善左旗| 高台县| 望谟县| 宝山区| 门头沟区| 时尚| 云龙县| 静乐县| 呈贡县| 清新县| 南溪县| 凤城市| 奉新县| 石棉县| 彩票| 黄陵县| 长春市| 长泰县|