首頁 > web前端 > js教程 > 主體

基於JavaScript實作行動裝置TAB觸控螢幕切換效果_javascript技巧

WBOY
發布: 2016-05-16 15:35:50
原創
1663 人瀏覽過

展示效果圖如下:

效果示範 原始碼下載

我們使用行動端時可以透過觸控螢幕手勢左右滑動來切換TAB欄目,如網易新聞等APP欄位切換。我們說的TAB一般由導航條和TAB對應的內容組成,切換導航條上的標籤同時標籤對應的內容也會跟著切換。本文將結合實例為大家介紹一個行動端TAB觸控螢幕切換效果。

HTML

我們準備一個TAB導航#pagenavi,裡麵包含TAB導航要切換的四個導航按鈕,然後是切換的主體內容#slider,這裡應該放置四個li與導航按鈕對應,內容自訂。

<div class="box-163css"> 
  <ul id="pagenavi" class="page"> 
    <li><a href="#http://www.jb51.net/css.html" class="active">CSS3</a></li> 
     <li><a href="#http://www.jb51.net/jquery.html">JAVASCRIPT</a></li> 
    <li><a href="#http://www.jb51.net/php.html">PHP</a></li> 
    <li><a href="#http://www.jb51.net/web.html">HTML5</a></li> 
  </ul> 
  <div id="slider" class="swipe"> 
   <ul class="box01_list"> 
    <li class="li_list"> 
    ... 
    </li> 
    ...<!--总共4个li--> 
   </ul> 
  </div> 
</div>
登入後複製

當然,我們還要為HTML加上css樣式,本例已打包好css檔案供大家下載。

JAVASCRIPT

由於是行動端應用,我們載入zepto.js,zepto就是體積小的jquery。然後需要載入觸控式滑動插件touchslider.js。

<script type="text/javascript" src="js/zepto_min.js"></script> 
<script type="text/javascript" src="js/touchslider.js"></script>
登入後複製

接下來我們就直接呼叫TouchSlider,透過設定綁定tab,滑動方向、速度、時間等資訊實作內容切換,請看詳細程式碼:

<script type="text/javascript"> 
  var page='pagenavi'; 
  var mslide='slider'; 
  var mtitle='emtitle'; 
  arrdiv = 'arrdiv'; 
  var as=document.getElementById(page).getElementsByTagName('a'); 
  var tt=new TouchSlider({id:mslide,'auto':'-1',fx:'ease-out',direction:'left',speed:600,timeout:5000,'before':function(index){ 
    var as=document.getElementById(this.page).getElementsByTagName('a'); 
    as[this.p].className=''; 
    as[index].className='active'; 
    this.p=index; 
    var txt=as[index].innerText; 
    $("#"+this.page).parent().find('.emtitle').text(txt); 
    var txturl=as[index].getAttribute('href');     
    var turl=txturl.split('#'); 
    $("#"+this.page).parent().find('.go_btn').attr('href',turl[1]); 
  }}); 
  tt.page = page; 
  tt.p = 0; 
  for(var i=0;i<as.length;i++){ 
    (function(){ 
      var j=i; 
      as[j].tt = tt; 
      as[j].onclick=function(){ 
        this.tt.slide(j); 
        return false; 
      } 
    })(); 
  } 
</script>
登入後複製

以上內容是本文的全部敘述,希望對大家學習有所幫助。

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!