jq實現輪播圖

之前設計了一個校團委網站,里面有一個輪播圖效果,上網后查看了許多方法,覺得下面這個方法最為適用,記錄下來

js代碼:

$(document).ready(function () {//無縫切換輪播var i = 0;//索引var clone = $(".banner .imgList li").first().clone();//克隆第一張圖片$(".banner .imgList").append(clone);//復制到列表最后var size = $(".banner .imgList li").size();//記錄圖片總數/*自動輪播*/var t = setInterval(function () { i++; move();},2000);/*鼠標懸停事件*/$(".banner").hover(function () {clearInterval(t);//鼠標懸停時清除定時器
                }, function () {t = setInterval(function () { i++; move(); }, 2000); //鼠標移出時清除定時器
                });/*鼠標滑入原點事件*/$(".banner .indexList li").hover(function () {var index = $(this).index();//獲取當前索引值i = index;$(".banner .imgList").stop().animate({ left: -index * 1366 }, 500);$(this).addClass("onIndex").siblings().removeClass("onIndex");$(".infoList").find("li").removeClass().eq(i).addClass("onInfo");});/*向左按鈕*/$(".prev").click(function () {i--;move();})/*向右按鈕*/$(".next").click(function () {i++;move();});/*移動事件*/function move() {//情況1索引為5if (i == size) {//當索引變為5,將left變為0,此時圖片依舊未變,而之后把索引變為1,執行animate(),使得動畫效果如同從第一張切換到第二張$(".banner .imgList").css({ left: 0 });//無時間移動i = 1;}//情況2索引為-1if (i == -1) {$(".banner .imgList").css({ left: -(size - 1) * 1366 });i = size - 2;}$(".banner .imgList").stop().animate({ left: -i * 1366 }, 500);if (i == size - 1) {//當索引指向的是復制的項,把突出顯示轉移到第一張圖片$(".banner .indexList li").eq(0).addClass("onIndex").siblings().removeClass();$(".banner .infoList li").eq(0).addClass("onInfo").siblings().removeClass();} else {$(".banner .indexList li").eq(i).addClass("onIndex").siblings().removeClass();$(".banner .infoList li").eq(i).addClass("onInfo").siblings().removeClass();}}               
});

html代碼:

<div class="wrapper"><div class="banner"><ul class="imgList"><li><a href="#"><img src="img/2017屆粵西全體大合照.png"/></a></li><li><a href="#"><img src="img/部門素拓合照.png"/></a></li><li><a href="#"><img src="img/班級合照3.png"/></a></li><li><a href="#"><img src="img/粵西動員大會.png"/></a></li></ul><ul class="infoList"><li class="onInfo">就業工作學生協助會成功舉辦粵西專場招聘會</li><li >部門素拓合照</li><li >班級合照</li><li >粵西動員大會</li></ul><ul class="indexList"><li class="onIndex"></li><li></li><li></li><li></li></ul><div class="bg"></div><div class="instructor"><img class="prev" src="img/左箭頭.png" /><img class="next" src="img/右箭頭.png"/></div>    </div></div>

?下面是原生js實現圖片輪播的功能:

<!DOCTYPE html>
<html><head><meta charset="utf-8" /><title></title><style type="text/css">body,li,ul,img{margin: 0;padding:0;}ul{list-style: none;}img{width: 500px;height: 350px;}.wrapper{position: relative;top: 130px;left: 400px;width: 500px;height: 350px;overflow:hidden;}.banner{position: relative;width: 3000px;height: 350px;}.wrapper .banner .imgList{position: absolute;}.wrapper .banner .imgList li{float: left;}</style></head><body><div class="wrapper"><div class="banner"><ul class="imgList" title="2333" style="left: 0px;"><li><a href="#"><img src="img/一輪面試.jpg" /></a></li><li><a href="#"><img src="img/三輪合照.jpg" /></a></li><li><a href="#"><img src="img/二輪面試.jpg" /></a></li><li><a href="#"><img src="img/第一次會議修改.jpg" /></a></li><li><a href="#"><img src="img/粵西3.png" /></a></li></ul></div></div><script type="text/javascript">var i=0;var e=document.getElementsByClassName("imgList")[0];var list=e.getElementsByTagName("li")[0];var clone=list.cloneNode(true);//注意,appendChild是用于移動元素的,不是用來復制拷貝元素的            
            e.appendChild(clone);var width=list.getElementsByTagName("img")[0].width;    //獲取寬度var length=e.getElementsByTagName("li").length;         //獲取總長度function transMove(value){var left=parseInt(e.style.left);if(left>value){e.style.left=(left-10)+"px";var repeat="transMove("+value+")";var g=setTimeout(repeat,20);}}var t=setInterval(function(){i++;move();},2000);function move(){if(i==length){e.style.left="0px";//直接給標簽添加屬性
                    i=1;}if(i==-1){e.style.left='-1*(length-1)*width+"px"';i=length-2;}//e.style.setProperty("left",-1*i*width+"px");
                transMove(-1*i*width);}</script></body>
</html>

?

轉載于:https://www.cnblogs.com/runhua/p/6863893.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/370674.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/370674.shtml
英文地址,請注明出處:http://en.pswp.cn/news/370674.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

關于圖片預加載的思考

引子&#xff1a; 很多時候&#xff0c;我們在寫html頁面的時候&#xff0c;當需要在頁面中加入圖片時&#xff0c;我們很自然地把圖片直接用<img>標簽放在了<body>里面&#xff0c;這本來是沒有多大問題的。 但是當圖片數量很多的時候&#xff0c;問題就來了。H…

oracle安裝中桌面模式與服務器模式的去別

桌面模式只能本機使用。 服務器模式可以在網絡中使用&#xff0c;也就是網絡中的其他服務器可以使用。 所以安裝時&#xff0c;如果是生產環境肯定是服務器模式。一般也都是服務器模式。 轉載于:https://www.cnblogs.com/zhjx0521/p/7803691.html

python不能創建字典的是_用Python創建帶有重復鍵的字典

用Python創建帶有重復鍵的字典 我有以下列表&#xff0c;其中包含重復的具有不同值的汽車注冊號。 我想將其轉換為字典&#xff0c;該字典接受汽車登記號的多個鍵。 到目前為止&#xff0c;當我嘗試將列表轉換為字典時&#xff0c;它消除了鍵之一。 如何制作具有重復鍵的字典&a…

python中int是什么的縮寫_python中int是什么類型

python中的基本數據類型1:雖然python中的變量不需要聲明&#xff0c;但使用時必須賦值整形變量浮點型變量字符型2:可以一個給多個變量賦值&#xff0c;也可以多個給多個變量賦值3:python3中有6個標準數據類型Number(數字)*True1*False0*數值的除法(/)總是返回一個浮點數&#x…

redis cli命令

redis安裝后&#xff0c;在src和/usr/local/bin下有幾個以redis開頭的可執行文件&#xff0c;稱為redis shell&#xff0c;這些可執行文件可做很多事情。 可執行文件作用redis-server 啟動redisredis-cliredis命令行工具redis-benchmark基準測試工具redis-check-aofAOF持久化文…

高級ZK:異步UI更新和后臺處理–第2部分

介紹 在第1部分中&#xff0c;我展示了如何在ZK應用程序中使用服務器推送和線程來執行后臺任務。 但是&#xff0c;這個簡單的示例具有一個重大缺陷&#xff0c;這使其對于實際應用程序而言是一種不好的方法&#xff1a;它為每個后臺任務啟動了一個新線程。 JDK5引入了Execut…

css清除浮動的原理

最近學習css發現了高度塌陷時候要清除浮動,為了理解清楚浮動原理,網上找了不少資料,發現都寫的不是很清楚,而且都是一模一樣的內容,我在里分享一下我對清楚浮動原理的理解, 如果你已經很了解什么是浮動和浮動的效果你可以直接跳轉到三.如何清除浮動(重點)閱讀 一.什么是浮動首…

SpringBoot03 項目熱部署

1 問題 在編寫springBoot項目時&#xff0c;經常需要修改代碼&#xff1b;但是每次修改代碼后都需重新啟動&#xff0c;修改的代碼才會生效 2 這么實現IDEA能夠像Eclipse那樣保存過后就可以自動進行刷新呢 將springBoot項目進行熱部署即可 3 如何實現SpringBoot項目的熱部署01 …

STM32實現流水燈

led.c #include"led.h"void Led_Init(void) {GPIO_InitTypeDef GPIO_VALUE; //???RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);//???GPIO_VALUE.GPIO_ModeGPIO_Mode_Out_PP;//???? ????GPIO_VALUE.GPIO_PinGPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_…

jacob 報錯 Can't co-create object

問題&#xff1a;開始時一切正常&#xff0c;后來什么都沒該&#xff0c;出現Cant co-create object報錯&#xff0c;即是創建不了ActiveXComponent wdnew ActiveXComponent("Word.Application"); 偶爾發現任務管理器中word進程居然達到10個&#xff0c;而我沒有打開…

map分組后取前10個_map根據屬性排序、取出map前n個

/*** map根據value排序* flag 1 正序* flag 0 倒序** param map* param flag* return*/public static > LinkedHashMap sortByValue(Map map, int flag) {LinkedHashMap sortMap new LinkedHashMap<>();if (flag 1) {map.entrySet().stream().sorted(Comparator.c…

wxpython可視化_使用wxPython的繪圖模塊wxPyPlot進行數據可視化

[Python進階(四十)-數據可視化の使用matplotlib進行繪圖前言??matplotlib是基于Python語言的開源項目&#xff0c;旨在為Python提供一個數據繪圖包。我將在這篇文章中介紹matplotlib A #-*- coding: utf-8 -*- ############################################################…

在Java EE 6中將Bean驗證與JAX-RS集成

JavaBeans驗證&#xff08;Bean驗證&#xff09;是一種新的驗證模型&#xff0c;可作為Java EE 6平臺的一部分使用。 約束條件支持Bean驗證模型&#xff0c;該約束以注釋的形式出現在JavaBeans組件&#xff08;例如托管Bean&#xff09;的字段&#xff0c;方法或類上。 javax.…

如何讓浮動的元素換行??css

當你想要做成這種布局效果的時候 紫色框里面的內容那樣 它是一個列表 li元素是塊級元素 默認大小是父元素ul的寬 并且換行 如果li沒有背景的話那就不用管了 可是問題來了它不但有背景 而且是根據文字自適應的寬高 這就是inline-block類型的功能了 那么想讓li是inline-bl…

Python學習之類和實例

面向對象最重要的概念就是類&#xff08;Class&#xff09;和實例&#xff08;Instance&#xff09;&#xff0c;必須牢記類是抽象的模板&#xff0c;比如Student類&#xff0c;而實例是根據類創建出來的一個個具體的“對象”&#xff0c;每個對象都擁有相同的方法&#xff0c;…

解決sublime里面的vue高亮的問題

下載插件文件&#xff1a;https://github.com/vuejs/vue-syntax-highlight 直接在官網下載放在安裝時候的packages目錄下&#xff08;sublime text3\Sublime Text3\Data\Packages&#xff09; 在Packages文件夾下新建一個vue的文件&#xff0c;把第一步下載的文件復制進去 subl…

python矩形填充顏色_在Python中找到所有用0填充的矩形

假設我們有一個二進制2D矩陣&#xff0c;現在我們必須找到所有用0填充的矩形的起點和終點。我們必須牢記&#xff0c;矩形是分開的&#xff0c;彼此之間不接觸&#xff0c;但是它們可以接觸陣列邊界。僅包含單個元素的矩形也是可能的。所以&#xff0c;如果輸入像-101110111011…

python concat_python中merge、concat用法

轉載&#xff1a;https://blog.csdn.net/ly_ysys629/article/details/73849543 參考&#xff1a;https://blog.csdn.net/stevenkwong/article/details/52540605 數據規整化&#xff1a;合并、清理、過濾 pandas和python標準庫提供了一整套高級、靈活的、高效的核心函數和算法將…

Vue使用axios無法讀取data的解決辦法

今天發現Vue中使用了axios后&#xff0c;then方法中無法讀取到data中的數據了&#xff0c;總是提示 Cannot set property xxx of undefined 上網找了一圈后發現了一下解決方法。 解決辦法1&#xff1a; methods:{tap:function(){var selfthis;axios.get(xxxxxx).then(function(…

設置博客園標題樣式

1.向博客園申請js權限 我們需要進入博客園自定義博客模板的頁面&#xff0c;向博客園管理團隊申請頁面運行js的權限。【博客園】->【設置】->【博客設置】&#xff0c;點擊頁面上的js權限申請&#xff0c;然后填寫申請的理由&#xff0c;耐心等幾分鐘&#xff0c;再刷新一…