利用jQuery簡(jiǎn)單實(shí)現(xiàn)產(chǎn)品展示圖片左右滾動(dòng)功能(示例代碼)
最近要做一個(gè)產(chǎn)品展示功能,由于產(chǎn)品比較多,一屏展示不完,所以想要做一個(gè)通過(guò)點(diǎn)擊進(jìn)行翻頁(yè)的效果,在網(wǎng)上找了幾個(gè)都不大好用,最后只能自己動(dòng)手寫(xiě)了。
效果如下所示:
原理比較簡(jiǎn)單:將要滾動(dòng)顯示的區(qū)域的CSS的override設(shè)為hidden,寬度設(shè)成一個(gè)比較大的值,如4000px,然后每次點(diǎn)擊上一頁(yè)或下一頁(yè)的按鈕時(shí),計(jì)算當(dāng)前頁(yè)數(shù),如果已經(jīng)到了最后一頁(yè),則回到第一頁(yè),滾動(dòng)是通過(guò)控制div的left屬性實(shí)現(xiàn)的,需要兩個(gè)div,外面的div的position設(shè)為retative,里面的DIV的position設(shè)為absolute。
主要代碼如下:
HTML:
<div id="product">
<h2><span class="arrow">arrow</span>產(chǎn)品展示</h2>
<span class="prev"></span>
<div id="content">
<div id="content_list">
<dl>
<dt><img src="images/product1.jpg"/></dt>
<dd>數(shù)據(jù)采集移動(dòng)終端</dd>
</dl>
<dl>
<dt><img src="images/product2.jpg"/></dt>
<dd>數(shù)據(jù)采集移動(dòng)終端</dd>
</dl>
<dl>
<dt><img src="images/product3.jpg"/></dt>
<dd>數(shù)據(jù)采集移動(dòng)終端</dd>
</dl>
<dl>
<dt><img src="images/product3.jpg"/></dt>
<dd>數(shù)據(jù)采集移動(dòng)終端</dd>
</dl>
<dl>
<dt><img src="images/product1.jpg"/></dt>
<dd>數(shù)據(jù)采集移動(dòng)終端1</dd>
</dl>
<dl>
<dt><img src="images/product1.jpg"/></dt>
<dd>數(shù)據(jù)采集移動(dòng)終端1</dd>
</dl>
<dl>
<dt><img src="images/product1.jpg"/></dt>
<dd>數(shù)據(jù)采集移動(dòng)終端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個(gè)圖片
//向后 按鈕
$("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) ; //只要不是整數(shù),就往大的方向取最小的整數(shù)
if( !content_list.is(":animated") ){ //判斷“內(nèi)容展示區(qū)域”是否正在處于動(dòng)畫(huà)
if( page == page_count ){ //已經(jīng)到最后一個(gè)版面了,如果再向后,必須跳轉(zhuǎn)到第一個(gè)版面。
content_list.animate({ left : '0px'}, "slow"); //通過(guò)改變left值,跳轉(zhuǎn)到第一個(gè)版面
page = 1;
}else{
content_list.animate({ left : '-='+v_width }, "slow"); //通過(guò)改變left值,達(dá)到每次換一個(gè)版面
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) ; //只要不是整數(shù),就往大的方向取最小的整數(shù)
if(!content_list.is(":animated") ){ //判斷“內(nèi)容展示區(qū)域”是否正在處于動(dòng)畫(huà)
if(page == 1 ){ //已經(jīng)到第一個(gè)版面了,如果再向前,必須跳轉(zhuǎn)到最后一個(gè)版面。
content_list.animate({ left : '-='+v_width*(page_count-1) }, "slow");
page = page_count;
}else{
content_list.animate({ left : '+='+v_width }, "slow");
page--;
}
}
});
});
- 多種JQuery循環(huán)滾動(dòng)文字圖片效果代碼
- jQuery循環(huán)滾動(dòng)展示代碼 可應(yīng)用到文字和圖片上
- JQuery循環(huán)滾動(dòng)圖片代碼
- 基于jquery實(shí)現(xiàn)點(diǎn)擊左右按鈕圖片橫向滾動(dòng)
- 基于jQuery的圖片左右無(wú)縫滾動(dòng)插件
- jquery 單行滾動(dòng)、批量多行滾動(dòng)、文字圖片翻屏滾動(dòng)效果代碼
- 基于jQuery圖片平滑連續(xù)滾動(dòng)插件
- js jquery做的圖片連續(xù)滾動(dòng)代碼
- jquery實(shí)現(xiàn)圖片左右間隔滾動(dòng)特效(可自動(dòng)播放)
- jQuery實(shí)現(xiàn)一組圖片循環(huán)滾動(dòng)
相關(guān)文章
jQuery當(dāng)鼠標(biāo)懸停時(shí)放大圖片的效果實(shí)例
這是一個(gè)基于jQuery的效果,當(dāng)鼠標(biāo)在小圖片上懸停時(shí),會(huì)彈出一個(gè)大圖,該大圖會(huì)跟隨鼠標(biāo)的移動(dòng)而移動(dòng)2013-07-07
輕松實(shí)現(xiàn)jquery選項(xiàng)卡切換效果
這篇文章主要幫助大家輕松實(shí)現(xiàn)jquery選項(xiàng)卡切換效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-10-10
jQuery基于隨機(jī)數(shù)解決中午吃什么去哪吃問(wèn)題示例
這篇文章主要介紹了jQuery基于隨機(jī)數(shù)解決中午吃什么去哪吃問(wèn)題,涉及jQuery基于事件響應(yīng)及隨機(jī)數(shù)動(dòng)態(tài)操作頁(yè)面元素相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2018-12-12
jquery 動(dòng)態(tài)增加,減少input表單的簡(jiǎn)單方法(必看)
下面小編就為大家?guī)?lái)一篇jquery 動(dòng)態(tài)增加,減少input表單的簡(jiǎn)單方法(必看)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-10-10
jQuery+ajax中g(shù)etJSON() 用法實(shí)例
這篇文章主要介紹了jQuery+ajax中g(shù)etJSON() 用法實(shí)例,需要的朋友可以參考下2014-12-12
jQuery實(shí)現(xiàn)簡(jiǎn)單評(píng)論區(qū)功能
這篇文章主要為大家詳細(xì)介紹了jQuery實(shí)現(xiàn)簡(jiǎn)單評(píng)論區(qū)功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-10-10
2014年50個(gè)程序員最適用的免費(fèi)JQuery插件
這篇文章主要介紹了2014年50個(gè)程序員最適用的免費(fèi)JQuery插件,需要的朋友可以參考下2014-12-12
jQuery插件HighCharts繪制2D柱狀圖、折線圖和餅圖的組合圖效果示例【附demo源碼下載】
這篇文章主要介紹了jQuery插件HighCharts繪制2D柱狀圖、折線圖和餅圖的組合圖效果,結(jié)合實(shí)例形式分析了jQuery使用HighCharts插件同時(shí)繪制折線圖、柱狀圖、餅狀圖組合圖效果的操作步驟與相關(guān)實(shí)現(xiàn)技巧,并附帶demo源碼供讀者下載參考,需要的朋友可以參考下2017-03-03

