JQuery是一款廣泛使用的JavaScript類庫,而輪播是前端開發中非常常見的一個組件。在實現輪播時,我們通常需要操作ul下的li元素。下面,我們將學習基于JQuery實現輪播ul下的li。
<div class="carousel"> <ul> <li><img src="1.jpg" alt="圖片1"></li> <li><img src="2.jpg" alt="圖片2"></li> <li><img src="3.jpg" alt="圖片3"></li> </ul> </div>
首先我們需要先創建一個ul列表,使用li標簽分別嵌套圖片元素。上述代碼中,我們將三張圖片分別嵌套在li元素中,而div.carousel是組件容器。
.carousel { position: relative; width: 100%; height: 200px; overflow: hidden; } .carousel ul { position: absolute; left: 0; top: 0; width: 300%; height: 100%; margin: 0; padding: 0; list-style: none; } .carousel li { float: left; width: 33.3333%; height: 100%; list-style: none; }
接下來,我們需要在CSS中為容器和元素設置合適的樣式。在上述代碼中,我們使用position屬性將容器設置為相對定位,并在ul元素中使用絕對定位。同時我們將ul的寬度設置為300%以便容納三張圖片,li元素使用浮動將圖片排為一行。
var currentIndex = 0; var items = $('.carousel li'); var itemLen = items.length; function showNext() { var nextIndex = (currentIndex + 1) % itemLen; var current = $(items[currentIndex]); var next = $(items[nextIndex]); current.fadeOut(); next.fadeIn(); currentIndex = nextIndex; } $(document).ready(function() { setInterval(showNext, 3000); });
最后,我們使用JQuery編寫JS代碼,實現輪播效果。在上述代碼中,我們首先定義了currentIndex變量表示當前圖片的下標,items變量表示所有li元素,itemLen變量表示li元素的數量。在showNext函數中,我們將下一張圖片的下標nextIndex計算出來,然后通過JQuery的fadeIn與fadeOut方法使當前圖片淡出,下一張圖片淡入。最后我們將currentIndex重新賦值為nextIndex。在document函數中,我們使用setInterval方法讓showNext函數每隔3秒鐘執行一次。