<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>基於jQuery的控制左右滾動及手動點擊滾動演示效果_非凡圖庫</title> <meta name="keywords" content="控制左右,左右滾動,手動點擊,點擊滾動" /> <meta name="description" content="非凡圖庫腳本頻道提供完全免費焦點圖,選項卡,圖片相冊,菜單導航,廣告代碼,文本鏈接,提示工具,彈出層對話框,時間日歷,星級評價,統計圖表,表格表單,滾動代碼,其它代碼,拾色器,按鈕圖標,是中國最新最全的腳本代碼免費下載網站。" /> <link type="text/css" rel="Stylesheet" href="http://www.ffpic.com/images/bar.css" /> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script> <style> /*demo css*/ .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 type="text/javascript" src="a.js"></script> <script> $(document).ready(function(){ $.focus("#ibox","#showbox","5"); $.focus("#ibox1","#showbox1","5"); }); </script> </head> <body> <div id="content"> <br><br> <!--DEMO start--> <div id="ibox" class="ibox"> <div id="showbox" class="showbox"> <ul> <li><img src="images/f8a9dd53720bf31b5917915e8222c27370a3681c_m.jpg" alt="demo" title="demo" /></li> <li><img src="images/15a1d7982c49b0e638ae3340cf86dc4469f955cc_m.jpg" alt="demo" title="demo" /></li> <li><img src="images/68e9a7a8476e26a1022fa5e39ccdda669a5d4f08_m.jpg" alt="demo" title="demo" /></li> <li><img src="images/56d1b9aaff5b424f1cdb08b80544d5150839b4de_m.jpg" alt="demo" title="demo" /></li> <li><img src="images/56d1b9aaff5b424f1cdb08b80544d5150839b4de_m.jpg" alt="demo" title="demo" /></li> <li><img src="images/20417dfc945bae6c720a660625e9652a154c2c94_m.jpg" alt="demo" title="demo" /></li> <li><img src="images/f4a9f29299f3dba6e7af0ac3c5aff93e01f874d3_m.jpg" alt="demo" title="demo" /></li> <li><img src="images/ca6f0c9ac0c6e3bfce827cd92833e1db620b6377_m.jpg" alt="demo" title="demo" /></li> <li><img src="images/809fcfbb8a1f58d1d47a760fd4283556cce201ef_m.jpg" alt="demo" title="demo" /></li> <li><img src="images/15a1d7982c49b0e638ae3340cf86dc4469f955cc_m.jpg" alt="demo" title="demo" /></li> <li><img src="images/56d1b9aaff5b424f1cdb08b80544d5150839b4de_m.jpg" alt="demo" title="demo" /></li> <li><img src="images/15a1d7982c49b0e638ae3340cf86dc4469f955cc_m.jpg" alt="demo" title="demo" /></li> <li><img src="images/49d6ae8901500f473a2e3e58e5b5ddc0e788bc9d_m.jpg" alt="demo" title="demo" /></li> </ul> </div> <span class="pre">«向左滾動</span><span class="next">向右滾動»</span><span class="num"><ol><li class="numcur">1</li><li>2</li><li>3</li></ol></span> </div> <!--DEMO end--> <div style="clear:both; overflow:hidden; height:150px;"></div> <!--DEMO start--> <div id="ibox1" class="ibox"> <div id="showbox1" class="showbox"> <ul> <li><img src="images/f8a9dd53720bf31b5917915e8222c27370a3681c_m.jpg" alt="demo" title="demo" /></li> <li><img src="images/15a1d7982c49b0e638ae3340cf86dc4469f955cc_m.jpg" alt="demo" title="demo" /></li> <li><img src="images/68e9a7a8476e26a1022fa5e39ccdda669a5d4f08_m.jpg" alt="demo" title="demo" /></li> <li><img src="images/56d1b9aaff5b424f1cdb08b80544d5150839b4de_m.jpg" alt="demo" title="demo" /></li> <li><img src="images/56d1b9aaff5b424f1cdb08b80544d5150839b4de_m.jpg" alt="demo" title="demo" /></li> <li><img src="images/20417dfc945bae6c720a660625e9652a154c2c94_m.jpg" alt="demo" title="demo" /></li> <li><img src="images/f4a9f29299f3dba6e7af0ac3c5aff93e01f874d3_m.jpg" alt="demo" title="demo" /></li> <li><img src="images/ca6f0c9ac0c6e3bfce827cd92833e1db620b6377_m.jpg" alt="demo" title="demo" /></li> <li><img src="images/809fcfbb8a1f58d1d47a760fd4283556cce201ef_m.jpg" alt="demo" title="demo" /></li> <li><img src="images/15a1d7982c49b0e638ae3340cf86dc4469f955cc_m.jpg" alt="demo" title="demo" /></li> <li><img src="images/56d1b9aaff5b424f1cdb08b80544d5150839b4de_m.jpg" alt="demo" title="demo" /></li> <li><img src="images/15a1d7982c49b0e638ae3340cf86dc4469f955cc_m.jpg" alt="demo" title="demo" /></li> <li><img src="images/49d6ae8901500f473a2e3e58e5b5ddc0e788bc9d_m.jpg" alt="demo" title="demo" /></li> </ul> </div> <span class="pre">«向左滾動</span><span class="next">向右滾動»</span><span class="num"><ol><li class="numcur">1</li><li>2</li><li>3</li></ol></span> </div> <!--DEMO end--> </div> </body> </html>
網上找了好多相關的。但在項目中基本都不符合要求。后來找了一個。但是他不是封裝的。自己修改了一下。可以重復使用了
代碼如下:
$(function(){ jQuery.focus = function(bigid,smallid,boxnum) { //@Mr.Think***變量 var $cur = 1;//初始化顯示的版面 //var $i = 5;//每版顯示數 var $i = boxnum; var $len = $(smallid+">ul>li").length;//計算列表總長度(個數) var $pages = Math.ceil($len / $i);//計算展示版面數量 var $w = $(bigid).width();//取得展示區外圍寬度 var $showbox = $(smallid); var $num = $(bigid+" span.num li") var $pre = $(bigid+" span.pre") var $next = $(bigid+" span.next"); //@Mr.Think***向前滾動 $pre.click(function(){ if (!$showbox.is(':animated')) { //判斷展示區是否動畫 if ($cur == 1) { //在第一個版面時,再向前滾動到最后一個版面 $showbox.animate({ left: '-=' + $w * ($pages - 1) }, 500); //改變left值,切換顯示版面,500(ms)為滾動時間,下同 $cur = $pages; //初始化版面為最后一個版面 } else { $showbox.animate({ left: '+=' + $w }, 500); //改變left值,切換顯示版面 $cur--; //版面累減 } $num.eq($cur - 1).addClass('numcur').siblings().removeClass('numcur'); //為對應的版面數字加上高亮樣式,並移除同級元素的高亮樣式 } }); //@Mr.Think***向后滾動 $next.click(function(){ if (!$showbox.is(':animated')) { //判斷展示區是否動畫 if ($cur == $pages) { //在最后一個版面時,再向后滾動到第一個版面 $showbox.animate({ left: 0 }, 500); //改變left值,切換顯示版面,500(ms)為滾動時間,下同 $cur = 1; //初始化版面為第一個版面 } else { $showbox.animate({ left: '-=' + $w }, 500);//改變left值,切換顯示版面 $cur++; //版面數累加 } $num.eq($cur - 1).addClass('numcur').siblings().removeClass('numcur'); //為對應的版面數字加上高亮樣式,並移除同級元素的高亮樣式 } }); //@Mr.Think***數字點擊事件 $num.click(function(){ if (!$showbox.is(':animated')) { //判斷展示區是否動畫 var $index = $num.index(this); //索引出當前點擊在列表中的位置值 $showbox.animate({ left: '-' + ($w * $index) }, 500); //改變left值,切換顯示版面,500(ms)為滾動時間 $cur = $index + 1; //初始化版面值,這一句可避免當滾動到第三版時,點擊向后按鈕,出面空白版.index()取值是從0開始的,故加1 $(this).addClass('numcur').siblings().removeClass('numcur'); //為當前點擊加上高亮樣式,並移除同級元素的高亮樣式 } }) }; });
根據ID來加載相應的滾動區域。這里設置了。外框和內框兩個部分,因為我前台頁面中同樣的結構。使用起來方便一點