DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> jQuery入門知識 >> JQuery特效代碼 >> 利用jQuery簡單實現產品展示圖片左右滾動功能(示例代碼)
利用jQuery簡單實現產品展示圖片左右滾動功能(示例代碼)
編輯:JQuery特效代碼     

最近要做一個產品展示功能,由於產品比較多,一屏展示不完,所以想要做一個通過點擊進行翻頁的效果,在網上找了幾個都不大好用,最後只能自己動手寫了。

效果如下所示:



原理比較簡單:將要滾動顯示的區域的CSS的override設為hidden,寬度設成一個比較大的值,如4000px,然後每次點擊上一頁或下一頁的按鈕時,計算當前頁數,如果已經到了最後一頁,則回到第一頁,滾動是通過控制div的left屬性實現的,需要兩個div,外面的div的position設為retative,裡面的DIV的position設為absolute。

主要代碼如下:

HTML:
. 代碼如下:
<div id="product">
 <h2><span class="arrow">arrow</span>產品展示</h2>
 <span class="prev"></span>
 <div id="content">
 <div id="content_list">
 <dl>
  <dt><img src="images/product1.jpg"/></dt>
  <dd>數據采集移動終端</dd>
 </dl>
 <dl>
  <dt><img src="images/product2.jpg"/></dt>
  <dd>數據采集移動終端</dd>
 </dl>
 <dl>
  <dt><img src="images/product3.jpg"/></dt>
  <dd>數據采集移動終端</dd>
 </dl>
 <dl>
  <dt><img src="images/product3.jpg"/></dt>
  <dd>數據采集移動終端</dd>
 </dl>
 <dl>
  <dt><img src="images/product1.jpg"/></dt>
  <dd>數據采集移動終端1</dd>
 </dl>
 <dl>
  <dt><img src="images/product1.jpg"/></dt>
  <dd>數據采集移動終端1</dd>
 </dl>
 <dl>
  <dt><img src="images/product1.jpg"/></dt>
  <dd>數據采集移動終端1</dd>
 </dl>
 </div>
 </div>
 <span class="next"></span>
</div>

CSS:
. 代碼如下:
#product {
 width:720px;
 height:200px;
 border:1px solid #ccc;
 margin:0 5px 5px 0;
 float:left;
}
#product div#content {
 position:relative;
 width:690px;
 height:160px;
 display:inline-block;
 overflow:hidden;
 float:left;
}
#product div#content_list {
 position:absolute;
 width:4000px;
}
#product dl{
 width:160px;
 height:150px;
 float:left;
 margin:10px 4px;
 padding:2px 2px;
}
#product dl:hover {
 border:1px solid #333;
 background:#ccc;
}
#product dl dt {

}
#product dl dt img {
 width:160px;
 height:120px;
 border:none;
}
#product dl dd {
 text-align:center;
}
#product span.prev{
 cursor:pointer;
 display:inline-block;
 width:15px;
 height:150px;
 background:url(../images/arrow_l.gif) no-repeat left center;
 float:left;
}
#product span.next{
 cursor:pointer;
 display:inline-block;
 width:15px;
 height:150px;
 background:url(../images/arrow_r.gif) no-repeat left center;
 float:right;
}

js代碼
. 代碼如下:
$(function(){
    var page = 1;
    var i = 4; //每版放4個圖片
    //向後 按鈕
    $("span.next").click(function(){    //綁定click事件
   var content = $("div#content");
   var content_list = $("div#content_list");
   var v_width = content.width();
   var len = content.find("dl").length;
   var page_count = Math.ceil(len / i) ;   //只要不是整數,就往大的方向取最小的整數
   if( !content_list.is(":animated") ){    //判斷“內容展示區域”是否正在處於動畫
     if( page == page_count ){  //已經到最後一個版面了,如果再向後,必須跳轉到第一個版面。
    content_list.animate({ left : '0px'}, "slow"); //通過改變left值,跳轉到第一個版面
    page = 1;
     }else{
    content_list.animate({ left : '-='+v_width }, "slow");  //通過改變left值,達到每次換一個版面
    page++;
    }
   }
   });
    //往前 按鈕
    $("span.prev").click(function(){
      var content = $("div#content");
   var content_list = $("div#content_list");
   var v_width = content.width();
   var len = content.find("dl").length;
   var page_count = Math.ceil(len / i) ;   //只要不是整數,就往大的方向取最小的整數
   if(!content_list.is(":animated") ){    //判斷“內容展示區域”是否正在處於動畫
     if(page == 1 ){  //已經到第一個版面了,如果再向前,必須跳轉到最後一個版面。
     content_list.animate({ left : '-='+v_width*(page_count-1) }, "slow");
    page = page_count;
   }else{
    content_list.animate({ left : '+='+v_width }, "slow");
    page--;
   }
  }
    });
});

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved