Jquery實(shí)現(xiàn)圖片左右自動(dòng)滾動(dòng)示例
更新時(shí)間:2013年09月25日 17:47:57 作者:
圖片左右滾動(dòng)的效果想必大家都有見到過吧,其實(shí)很簡(jiǎn)單。在本文將為大家介紹下使用Jquery是如何實(shí)現(xiàn)圖片左右自動(dòng)滾動(dòng)的,感興趣的朋友可以參考下
復(fù)制代碼 代碼如下:
<!DOCTYPE HTML>
<html>
<head>
<title>基于jQuery的控制左右滾動(dòng)效果_自動(dòng)滾動(dòng)版本</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
<style>
body{font-size:0.8em;letter-spacing:1px;font-family:"微軟雅黑"; line-height:1.8em}
div,ul,li,ol,img{margin:0;padding:0}
h1{font-size:1em; font-weight:normal;}
h1 a{background:#CFF; padding:2px 3px; text-decoration:none;}
h1 a:hover{background:#eee; text-decoration:underline}
h2,h3{font-size:1em; font-weight:normal; color:#a40000; margin:1em auto; position:relative}
h3{color:#888; font-weight:bold}
ul,li,ol{list-style:none}
.ibox{width:850px; height:210px; background:#ddd; margin:1em auto; border:1em solid #ddd; position:relative; overflow:hidden}
.ibox .showbox{position:absolute;left:0;width:2550px; height:170px; background:#fff}
.ibox .showbox ul li{float:left;margin:7px}
.ibox .showbox ul li img{width:150px; height:150px; border:3px solid #a40000}
.ibox span{position:absolute;padding:2px 5px; background:#fff; cursor:pointer;}
.ibox span.pre{left:10px; bottom:0}
.ibox span.next{right:10px; bottom:0}
.ibox span.num{right:45%; bottom:0; background:#ddd;line-height:18px;}
.ibox span.num li{display:inline;margin:0 5px; padding:1px 5px; line-height:18px}
.ibox span.num .numcur{background:#a40000; color:#fff}
</style>
<script>
$(function(){
//@Mr.Think***變量
var $cur = 1;//初始化顯示的版面
var $i = 5;//每版顯示數(shù)
var $len = $('.showbox>ul>li').length;//計(jì)算列表總長(zhǎng)度(個(gè)數(shù))
var $pages = Math.ceil($len / $i);//計(jì)算展示版面數(shù)量
var $w = $('.ibox').width();//取得展示區(qū)外圍寬度
var $showbox = $('.showbox');
var $num = $('span.num li')
var $pre = $('span.pre')
var $next = $('span.next');
var $autoFun;
//@Mr.Think***調(diào)用自動(dòng)滾動(dòng)
autoSlide();
//@Mr.Think***向前滾動(dòng)
$pre.click(function(){
if (!$showbox.is(':animated')) { //判斷展示區(qū)是否動(dòng)畫
if ($cur == 1) { //在第一個(gè)版面時(shí),再向前滾動(dòng)到最后一個(gè)版面
$showbox.animate({
left: '-=' + $w * ($pages - 1)
}, 500); //改變left值,切換顯示版面,500(ms)為滾動(dòng)時(shí)間,下同
$cur = $pages; //初始化版面為最后一個(gè)版面
}
else {
$showbox.animate({
left: '+=' + $w
}, 500); //改變left值,切換顯示版面
$cur--; //版面累減
}
$num.eq($cur - 1).addClass('numcur').siblings().removeClass('numcur'); //為對(duì)應(yīng)的版面數(shù)字加上高亮樣式,并移除同級(jí)元素的高亮樣式
}
});
//@Mr.Think***向后滾動(dòng)
$next.click(function(){
if (!$showbox.is(':animated')) { //判斷展示區(qū)是否動(dòng)畫
if ($cur == $pages) { //在最后一個(gè)版面時(shí),再向后滾動(dòng)到第一個(gè)版面
$showbox.animate({
left: 0
}, 500); //改變left值,切換顯示版面,500(ms)為滾動(dòng)時(shí)間,下同
$cur = 1; //初始化版面為第一個(gè)版面
}
else {
$showbox.animate({
left: '-=' + $w
}, 500);//改變left值,切換顯示版面
$cur++; //版面數(shù)累加
}
$num.eq($cur - 1).addClass('numcur').siblings().removeClass('numcur'); //為對(duì)應(yīng)的版面數(shù)字加上高亮樣式,并移除同級(jí)元素的高亮樣式
}
});
//@Mr.Think***數(shù)字點(diǎn)擊事件
$num.click(function(){
if (!$showbox.is(':animated')) { //判斷展示區(qū)是否動(dòng)畫
var $index = $num.index(this); //索引出當(dāng)前點(diǎn)擊在列表中的位置值
$showbox.animate({
left: '-' + ($w * $index)
}, 500); //改變left值,切換顯示版面,500(ms)為滾動(dòng)時(shí)間
$cur = $index + 1; //初始化版面值,這一句可避免當(dāng)滾動(dòng)到第三版時(shí),點(diǎn)擊向后按鈕,出面空白版.index()取值是從0開始的,故加1
$(this).addClass('numcur').siblings().removeClass('numcur'); //為當(dāng)前點(diǎn)擊加上高亮樣式,并移除同級(jí)元素的高亮樣式
}
});
//@Mr.Think***停止?jié)L動(dòng)
clearFun($showbox);
clearFun($pre);
clearFun($next);
clearFun($num);
//@Mr.Think***事件劃入時(shí)停止自動(dòng)滾動(dòng)
function clearFun(elem){
elem.hover(function(){
clearAuto();
}, function(){
autoSlide();
});
}
//@Mr.Think***自動(dòng)滾動(dòng)
function autoSlide(){
$next.trigger('click');
$autoFun = setTimeout(autoSlide, 4000);//此處不可使用setInterval,setInterval是重復(fù)執(zhí)行傳入函數(shù),這會(huì)引起第二次劃入時(shí)停止失效
}
//@Mr.Think***清除自動(dòng)滾動(dòng)
function clearAuto(){
clearTimeout($autoFun);
}
});
</script>
</head>
<body>
<div class="ibox">
<div class="showbox">
<ul>
<li><img src="http://img.jbzj.com/demoimg/201007/f8a9dd53720bf31b5917915e8222c27370a3681c_m.jpg" alt="demo" title="demo" /></li>
<li><img src="http://img.jbzj.com/demoimg/201007/15a1d7982c49b0e638ae3340cf86dc4469f955cc_m.jpg" alt="demo" title="demo" /></li>
<li><img src="http://img.jbzj.com/demoimg/201007/68e9a7a8476e26a1022fa5e39ccdda669a5d4f08_m.jpg" alt="demo" title="demo" /></li>
<li><img src="http://img.jbzj.com/demoimg/201007/56d1b9aaff5b424f1cdb08b80544d5150839b4de_m.jpg" alt="demo" title="demo" /></li>
<li><img src="http://img.jbzj.com/demoimg/201007/56d1b9aaff5b424f1cdb08b80544d5150839b4de_m.jpg" alt="demo" title="demo" /></li>
<li><img src="http://img.jbzj.com/demoimg/201007/20417dfc945bae6c720a660625e9652a154c2c94_m.jpg" alt="demo" title="demo" /></li>
<li><img src="http://img.jbzj.com/demoimg/201007/f4a9f29299f3dba6e7af0ac3c5aff93e01f874d3_m.jpg" alt="demo" title="demo" /></li>
<li><img src="http://img.jbzj.com/demoimg/201007/ca6f0c9ac0c6e3bfce827cd92833e1db620b6377_m.jpg" alt="demo" title="demo" /></li>
<li><img src="http://img.jbzj.com/demoimg/201007/809fcfbb8a1f58d1d47a760fd4283556cce201ef_m.jpg" alt="demo" title="demo" /></li>
<li><img src="http://img.jbzj.com/demoimg/201007/15a1d7982c49b0e638ae3340cf86dc4469f955cc_m.jpg" alt="demo" title="demo" /></li>
<li><img src="http://img.jbzj.com/demoimg/201007/56d1b9aaff5b424f1cdb08b80544d5150839b4de_m.jpg" alt="demo" title="demo" /></li>
<li><img src="http://img.jbzj.com/demoimg/201007/15a1d7982c49b0e638ae3340cf86dc4469f955cc_m.jpg" alt="demo" title="demo" /></li>
<li><img src="http://img.jbzj.com/demoimg/201007/49d6ae8901500f473a2e3e58e5b5ddc0e788bc9d_m.jpg" alt="demo" title="demo" /></li>
</ul>
</div>
<span class="pre">«向左滾動(dòng)</span>
<span class="next">向右滾動(dòng)»</span>
</div>
</body>
</html>
您可能感興趣的文章:
- js jquery做的圖片連續(xù)滾動(dòng)代碼
- 基于jQuery圖片平滑連續(xù)滾動(dòng)插件
- jcarousellite.js 基于Jquery的圖片無縫滾動(dòng)插件
- jquery 圓形旋轉(zhuǎn)圖片滾動(dòng)切換效果
- 基于jQuery的圖片左右無縫滾動(dòng)插件
- 基于Jquery實(shí)現(xiàn)的一個(gè)圖片滾動(dòng)切換
- jquery實(shí)現(xiàn)marquee效果(文字或者圖片的水平垂直滾動(dòng))
- jQuery+css實(shí)現(xiàn)圖片滾動(dòng)效果(附源碼)
- 基于jquery實(shí)現(xiàn)點(diǎn)擊左右按鈕圖片橫向滾動(dòng)
- jquery實(shí)現(xiàn)圖片左右間隔滾動(dòng)特效(可自動(dòng)播放)
- jquery控制左右箭頭滾動(dòng)圖片列表的實(shí)例
- jquery仿QQ商城帶左右按鈕控制焦點(diǎn)圖片切換滾動(dòng)效果
- JQuery頁面圖片切換和新聞列表滾動(dòng)效果的具體實(shí)現(xiàn)
- Jquery 類網(wǎng)頁微信二維碼圖塊滾動(dòng)效果具體實(shí)現(xiàn)
- JQuery 圖片滾動(dòng)輪播示例代碼
- jquery實(shí)現(xiàn)的圖片點(diǎn)擊滾動(dòng)效果
- 完美兼容各大瀏覽器的jQuery仿新浪圖文淡入淡出間歇滾動(dòng)特效
- jQuery實(shí)現(xiàn)的向下圖文信息滾動(dòng)效果
相關(guān)文章
jQuery旋轉(zhuǎn)插件jqueryrotate用法詳解
這篇文章主要介紹了jQuery旋轉(zhuǎn)插件jqueryrotate用法,結(jié)合實(shí)例形式詳細(xì)分析了jqueryrotate插件的功能、定義及相關(guān)參數(shù)的使用方法,需要的朋友可以參考下2016-10-10jquery實(shí)現(xiàn)個(gè)人中心導(dǎo)航菜單效果和美觀都非常不錯(cuò)
這是一款由jquery開發(fā)的導(dǎo)航菜單。適合放在門戶網(wǎng)站的個(gè)人用戶中心后臺(tái)。效果和美觀都非常不錯(cuò)2014-09-09jQuery對(duì)象與DOM對(duì)象之間的轉(zhuǎn)換方法
剛開始學(xué)習(xí)jQuery,可能一時(shí)會(huì)分不清楚哪些是jQuery對(duì)象,哪些是DOM對(duì)象。至于DOM對(duì)象不多解釋,我們接觸的太多了,下面重點(diǎn)介紹一下jQuery,以及兩者相互間的轉(zhuǎn)換。2010-04-04jquery實(shí)現(xiàn)textarea 高度自適應(yīng)
用jquery實(shí)現(xiàn)的textarea 高度自適應(yīng)代碼。這個(gè)動(dòng)畫效果比較流暢。適合新手學(xué)習(xí)。非常簡(jiǎn)單實(shí)用,這里推薦給小伙伴們。2015-03-03編寫自己的jQuery插件簡(jiǎn)單實(shí)現(xiàn)代碼
用了這長(zhǎng)時(shí)間的jQuery,一直也沒怎么寫過jQuery插件,今天簡(jiǎn)單實(shí)現(xiàn)倆個(gè)插件,鞏固下基礎(chǔ)知識(shí)。2011-04-04jquery獲取焦點(diǎn)和失去焦點(diǎn)事件代碼
鼠標(biāo)在搜索框中點(diǎn)擊的時(shí)候里面的文字就消失了,經(jīng)常會(huì)用到搜索框的獲得焦點(diǎn)和失去焦點(diǎn)的事件,接下來介紹一下具體代碼,感興趣的朋友額可以參考下2013-04-04jQuery簡(jiǎn)單實(shí)現(xiàn)提交數(shù)據(jù)出現(xiàn)loading進(jìn)度條的方法
這篇文章主要介紹了jQuery簡(jiǎn)單實(shí)現(xiàn)提交數(shù)據(jù)出現(xiàn)loading進(jìn)度條的方法,涉及jQuery的ajax調(diào)用及頁面樣式操作技巧,需要的朋友可以參考下2016-03-03