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

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

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

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

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

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

廢話不多說直接上代碼:

/* 
 * 移動端模擬導(dǎo)航可點擊自動滑動 0.1.4 
 * Date: 2017-01-11 
 * by: xiewei 
 * 導(dǎo)航可左右滑動,可點擊邊緣的一個,自動滾動下一個到可視范圍【依賴于iscroll.js】 
 */ 
(function ($) { 
 $.fn.navbarscroll = function (options) { 
 //各種屬性、參數(shù) 
 var _defaults = { 
 className:'cur', //當(dāng)前選中點擊元素的class類名 
 clickScrollTime:300, //點擊后滑動時間 
 duibiScreenWidth:0.4, //單位以rem為準(zhǔn),默認(rèn)為0.4rem 
 scrollerWidth:3, //單位以px為準(zhǔn),默認(rèn)為3,[僅用于特殊情況:外層寬度因為小數(shù)點造成的不精準(zhǔn)情況] 
 defaultSelect:0, //初始選中第n個,默認(rèn)第0個 
 fingerClick:0, //目標(biāo)第0或1個選項觸發(fā),必須每一項長度一致,方可用此項 
 endClickScroll:function(thisObj){}//回調(diào)函數(shù) 
 } 
 var _opt = $.extend(_defaults, options); 
 this.each(function () { 
 //插件實現(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端谷歌瀏覽器模擬的手機屏幕出現(xiàn)莫名的卡頓現(xiàn)象,滑動時禁止默認(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)于滑動效果的專題,請點擊下方鏈接查看:

javascript滑動操作匯總

jquery滑動操作匯總

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

相關(guān)文章

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

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

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

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

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

    第一章之初識Bootstrap

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

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

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

    使用hasOwnProperty時報錯的解決方法

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

    TypeScript 中接口詳解

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

    JS實現(xiàn)self的resend

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

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

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

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

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

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

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

最新評論

特克斯县| 中方县| 罗城| 纳雍县| 长沙市| 扎囊县| 乡宁县| 南丰县| 三亚市| 磴口县| 潞城市| 海盐县| 招远市| 新余市| 监利县| 吉水县| 苏尼特右旗| 鹿泉市| 碌曲县| 潼南县| 冷水江市| 邵武市| 常熟市| 井陉县| 萨迦县| 卢氏县| 化隆| 麻栗坡县| 南溪县| 东兴市| 宁阳县| 嘉峪关市| 三门峡市| 科技| 河池市| 清河县| 中方县| 太谷县| 垦利县| 定结县| 平定县|