左右帶有按鈕圖片水平滾動
本章節分享一段程式碼例項,它實現了圖片水平無縫滾動效果。
點選左右按鈕可以實現滾動,也可以讓效果實現自動滾動,設定相應的引數即可。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼執行程式碼<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style type="text/css"> * { margin: 0px; padding: 0px; font-size: 12px; } a { text-decoration: none; font-size: 12px; } a:link { color: #383455; font-size: 12px; } a:hover { color: #ff0000; font-size: 12px; } a:visited { color: #383455; font-size: 12px; } img { border: none; } .hl_main5_content { width: 898px; height: 155px; border-top: none; margin-left: 1px; margin: 100px auto; } .hl_main5_content1 { width: 838px; margin-top: 5px; overflow: hidden; float: left; margin-left: 15px; } .hl_main5_content1 ul { width: 1600px; overflow: hidden; } .hl_main5_content1 ul li { float: left; width: 200px; display: inline; border: 1px #FF0000 solid; margin-right: 10px; } .hl_main5_content1 ul li img { width: 200px; } .hl_scrool_leftbtn { width: 14px; height: 38px; background: #ccc url(hl_scroll_left.jpg) no-repeat; float: left; margin-top: 50px; cursor: pointer; } .hl_scrool_rightbtn { width: 14px; height: 38px; background: #ccc url(hl_scroll_right.jpg) no-repeat; float: right; margin-top: 50px; cursor: pointer; } </style> <script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script> <script type="text/javascript"> var flag = "left"; function DY_scroll(wraper, prev, next, img, speed, or) { var wraper = $(wraper); var prev = $(prev); var next = $(next); var img = $(img).find('ul'); var w = img.find('li').outerWidth(true); var s = speed; next.click(function () { img.animate({ 'margin-left': -w }, function () { img.find('li').eq(0).appendTo(img); img.css({ 'margin-left': 0 }); }); flag = "left"; }); prev.click(function () { img.find('li:last').prependTo(img); img.css({ 'margin-left': -w }); img.animate({ 'margin-left': 0 }); flag = "right"; }); if (or == true) { ad = setInterval(function () { flag == "left" ? next.click() : prev.click() }, s * 1000); wraper.hover(function () { clearInterval(ad); }, function () { ad = setInterval(function () { flag == "left" ? next.click() : prev.click() }, s * 1000); }); } } $(document).ready(function () { DY_scroll('.hl_main5_content','.hl_scrool_leftbtn','.hl_scrool_rightbtn','.hl_main5_content1',3,true); }) </script> </head> <body> <div class="hl_main5_content"> <div class="hl_scrool_leftbtn"></div> <div class="hl_scrool_rightbtn"></div> <div class="hl_main5_content1"> <ul> <li><a href="" title=""><img src="demo/jQuery/img/scroll.png" /></a></li> <li><a href="" title=""><img src="demo/jQuery/img/scroll.png" /></a></li> <li><a href="" title=""><img src="demo/jQuery/img/scroll.png" /></a></li> <li><a href="" title=""><img src="demo/jQuery/img/scroll.png" /></a></li> <li><a href="" title=""><img src="demo/jQuery/img/scroll.png" /></a></li> <li><a href="" title=""><img src="demo/jQuery/img/scroll.png" /></a></li> <li><a href="" title=""><img src="demo/jQuery/img/scroll.png" /></a></li> </ul> </div> </div> </body> </html>
上面的程式碼實現了滾動效果,下面介紹一下它的實現過程。
程式碼註釋:
(1).var flag = "left",宣告一個變數並賦初值為left,用來說明預設是向左滾動的。
(2).function DY_scroll(wraper, prev, next, img, speed, or) {},此方法是實現滾動的核心,第一個引數是容器元素的class屬性值,第二個引數前一個按鈕的class屬性值,第三個引數是下一個按鈕的class屬性值,第四個引數是ul元素第一級父元素的class屬性值,第五個引數是滾動速度,第六個引數規定是否可以自動滾動。
(3).var wraper = $(wraper),獲取對應的元素物件。
(4).var img = $(img).find('ul'),獲取指定元素下面的ul元素。
(5).var w = img.find('li').outerWidth(true),獲取li元素的外部寬度。
(6).var s = speed,將滾動速度賦值給變數s。
(7). next.click(function () {
img.animate({ 'margin-left': -w }, function () {
img.find('li').eq(0).appendTo(img);
img.css({ 'margin-left': 0 });
});
flag = "left";
}),為下一個按鈕註冊時間處理函式。
當點選按鈕的時候,ul元素會以動畫方式設定左邊距,尺寸是負的li元素的寬度。
動畫完成之後,將第一個li元素移動到佇列的結尾,然後再設定ul元素的做外邊距為0。
(8).if (or == true) {
ad = setInterval(function () { flag == "left" ? next.click() : prev.click() }, s * 1000);
wraper.hover(function () {
clearInterval(ad);
}, function () {
ad = setInterval(function () {
flag == "left" ? next.click() : prev.click()
}, s * 1000);
});
},如果自動播放,那麼通過定時器函式每隔1秒鐘呼叫一次next.click()或者 prev.click()。
相關文章
- jquery.flexslider.js帶左右箭頭且帶按鈕可滾動的圖片外掛jQueryFlexIDEJS
- (轉)jquery圖片左右滾動jQuery
- JS圖片滾動(無縫、平滑、上下左右滾動)效果JS
- JS+CSS帶數字和左右按鈕可控制切換的圖片幻燈JSCSS
- 按鈕滾動條效果
- WPF 按鈕背景圖片
- JavaScript左右拖動滑動的按鈕效果JavaScript
- js程式碼實現的圖片水平無縫滾動JS
- 原生javascript實現的水平圖片無縫滾動效果JavaScript
- 初學 Bootstrap 按鈕與圖片boot
- CSS按鈕垂直水平居中CSS
- flutter好用的輪子推薦五-列表左右滑動帶出按鈕選項Flutter
- SVG 帶有過渡效果的按鈕SVG
- kindeditor 圖片管理增加刪除操作按鈕
- iOS 左滑按鈕(UITableViewRowAction)顯示圖片iOSUIView
- Qt更改按鈕樣式 (以QSpinBox使用左右按鈕樣式為例)QT
- unity 實現輪盤方式的按鈕滾動效果Unity
- 頁面圖片自動滾動
- 點選按鈕實現圖片切換效果
- [CSS]Input標籤與圖片按鈕對齊CSS
- div滾動條樣式,水平滾動
- Java——圖片滾動顯示Java
- javascript實現圖片滾動JavaScript
- 事件圖片paip.C#.NET圖形按鈕製做事件AIC#
- Swift 設定navigation左右兩側按鈕SwiftNavigation
- Android 自定義控制元件 按鈕滾動選擇Android控制元件
- 跟隨滾動條漂浮的返回頂部按鈕效果
- 直播帶貨原始碼,圖片左上角或右上角點選返回按鈕原始碼
- 自定義按鈕 圖片標題位置隨意放置
- css滑鼠浮劃過切換按鈕背景圖片CSS
- Qt中按鈕背景圖片的切換設定QT
- jQuery圖片無縫滾動效果jQuery
- 直播帶貨原始碼,vue中點選按鈕平滑滾動到頁面某個div位置原始碼Vue
- vue js 獲取滾動距離 以及 返回頂部按鈕VueJS
- CSS 水平無縫滾動CSS
- JavaScript新增一個文字框並帶有刪除按鈕JavaScript
- js拖動實現左右圖片對比效果JS
- 按鈕拖拽移動