您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關jquery+css如何實現圖片輪播效果的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
ps:
功能比較簡單,整個框并不能根據圖片的大小自動調節,這里所用的圖片是1170*500的,如果需要改成其他大小的圖片,自行修改.pic-list下img的寬度。
.pic-list中的寬度為整個橫幅的寬度,如果需要輪播的圖片數量很多,.pic-list的寬度應大于數量*單張寬度,
html
<div class="banner"> <!--第一張圖片為最后一張,用來做輪播連接使用,所以一開始顯示的第一章,應是第二張圖片,這里圖片的寬度為1170px,所以一開始left為-1170px,同理最后一張圖也為第一張圖。--> <div class="pic-list" > <img src="/static/img/4.jpg" alt=""> <img src="/static/img/1.jpg" alt=""> <img src="/static/img/2.jpg" alt=""> <img src="/static/img/3.jpg" alt=""> <img src="/static/img/4.jpg" alt=""> <img src="/static/img/1.jpg" alt=""> </div> <div id="buttons"> <!-- 確保span的數量跟img數量一樣多,不包括第一張img和最后一張img--> <span class='on'></span> <span></span> <span></span> <span></span> </div> <a href="javascript:;" class="arrow" id="prev"><</a> <a href="javascript:;" class="arrow" id="next">></a> </div>
css
.banner{ width: 100%; height: 500px; overflow: hidden; position: relative; } .banner a{ text-decoration: none; } .banner .pic-list{ width: 10000px; height: 500px; position: absolute; z-index: 1; } .banner .pic-list img{ width: 1170px; float: left; } #buttons{ position: absolute; z-index: 2; height: 10px; bottom: 20px; left: 550px; } #buttons span{ cursor: pointer; float: left; border: 1px solid #fff; width: 10px; height: 10px; border-radius: 50%; background: #333; margin-right: 5px; } #buttons .on{ background: orange; } .arrow{ cursor: pointer; line-height: 36px; text-align: center; font-size: 20px; font-weight: bold; width: 40px; height: 40px; position: absolute; z-index: 2; top: 200px; background: rgba(0,0,0,0.5); color: #fff; display: none; } .banner:hover .arrow{display: block;} #prev{ left: 20px; } #next{ right:20px; }
js
$(document).ready(function(){ var picNum = 4;//圖片數量,根據實際修改 var picWidth = 1170;//圖片的寬度,根據實際修改 var picMaxWidth = -1 * picNum * picWidth; var currentPic = 1; var next = $('#next'); var prev = $('#prev'); var flag = false; prev.on('click',function(){ if(!flag){ calPx(1170); currentPic--; if (currentPic < 1) { currentPic = picNum; } $('#buttons span').eq(currentPic-1).addClass('on').siblings().removeClass('on'); } }); next.on('click',function(){ if(!flag){ calPx(-1170); currentPic++; if (currentPic > picNum) { currentPic = 1; } $('#buttons span').eq(currentPic-1).addClass('on').siblings().removeClass('on'); } }); $('.banner').on('mouseover',function(){ stop(); }).on('mouseout',function(){ play(); }) function nextClick(){ next.click(); } function play(){ setInt = setInterval(nextClick,2000); } function stop(){ clearInterval(setInt); } function calPx(leftPx){ flag = true; var left = parseInt($('.pic-list').css('left')); var newLeft = left+leftPx; var time = 300; var interval = 10; var speed = leftPx/(time/interval); function go(){ var left = parseInt($('.pic-list').css('left')); if((speed < 0 && left > newLeft) || (speed > 0 && left < newLeft)){ $('.pic-list').css('left', (left + speed) + 'px'); setTimeout(go,interval); }else{ flag = false; if( newLeft > -1170){ newLeft = picMaxWidth; }else if (newLeft < picMaxWidth ) { newLeft = -1170; } $('.pic-list').css('left',newLeft + 'px'); } } go(); } play(); });
感謝各位的閱讀!關于“jquery+css如何實現圖片輪播效果”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。