左右帶有按鈕圖片水平滾動
本章節分享一段程式碼例項,它實現了圖片水平無縫滾動效果。
點選左右按鈕可以實現滾動,也可以讓效果實現自動滾動,設定相應的引數即可。
程式碼例項如下:
[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()。
相關文章
- 初學 Bootstrap 按鈕與圖片boot
- flutter好用的輪子推薦五-列表左右滑動帶出按鈕選項Flutter
- iOS 左滑按鈕(UITableViewRowAction)顯示圖片iOSUIView
- kindeditor 圖片管理增加刪除操作按鈕
- Qt更改按鈕樣式 (以QSpinBox使用左右按鈕樣式為例)QT
- unity 實現輪盤方式的按鈕滾動效果Unity
- 頁面圖片自動滾動
- div滾動條樣式,水平滾動
- 自定義按鈕 圖片標題位置隨意放置
- css滑鼠浮劃過切換按鈕背景圖片CSS
- 直播帶貨原始碼,圖片左上角或右上角點選返回按鈕原始碼
- 直播軟體搭建,css實現多張圖片或logo左右無間隙滾動CSSGo
- 直播帶貨原始碼,vue中點選按鈕平滑滾動到頁面某個div位置原始碼Vue
- vue js 獲取滾動距離 以及 返回頂部按鈕VueJS
- jQuery圖片無縫滾動效果jQuery
- JavaScript新增一個文字框並帶有刪除按鈕JavaScript
- Vue實現浮動按鈕元件 - 頁面滾動時自動隱藏 - 可拖拽Vue元件
- CSS水平無縫滾動效果CSS
- CSS 例項之滾動的圖片欄CSS
- jQuery滑動方式上下左右滾動效果jQuery
- CSS例項:翻轉圖片、滾動圖片欄、開啟大門CSS
- 直播帶貨app原始碼,實現移動端的按鈕拖動APP原始碼
- jquery製作圖片瀑布流點選按鈕載入更多內容jQuery
- JavaScript水平無縫滾動程式碼JavaScript
- [外掛擴充套件]幻燈片 | 滾動圖片 外掛套件
- jQuery 圖片列表垂直間歇無縫滾動jQuery
- JavaScript圖片橫向無縫滾動詳解JavaScript
- android短影片開發,圖片視差滾動Android
- js實現圖片上下滾動background-positionJS
- JQuery實現圖片輪播無縫滾動jQuery
- 記錄:iOS10 storyboard的帶有計時器功能的按鈕。iOS
- 2020 用html jQuery實現廣告輪播圖自動切換 滾動頁面 滑鼠懸浮下標且左右切換圖片HTMLjQuery
- 帶燈LED按鈕開關接線方法
- 移動端長按儲存、取消長按儲存圖片
- 設定圖片水平垂直居中
- 直播系統原始碼,按鈕圖片和文字位置的各種設定原始碼
- js 滾輪控制圖片縮放大小和拖動JS
- 滾動載入圖片(懶載入)實現原理