jquery+css实现简单的图片轮播效果
开发过程中需要用到图片轮播的插件,在网上找了几个插件之后还是决定自己码一个,比较简洁的功能,以后说不定还会有用。
ps:
功能比较简单,整个框并不能根据图片的大小自动调节,这里所用的图片是1170*500的,如果需要改成其他大小的图片,自行修改.pic-list下img的宽度。
.pic-list中的宽度为整个横幅的宽度,如果需要轮播的图片数量很多,.pic-list的宽度应大于数量*单张宽度,
html
开发过程中需要用到图片轮播的插件,在网上找了几个插件之后还是决定自己码一个,比较简洁的功能,以后说不定还会有用。
ps:
功能比较简单,整个框并不能根据图片的大小自动调节,这里所用的图片是1170*500的,如果需要改成其他大小的图片,自行修改.pic-list下img的宽度。
.pic-list中的宽度为整个横幅的宽度,如果需要轮播的图片数量很多,.pic-list的宽度应大于数量*单张宽度,
html
css
.banner{ width:100%; height:500px; overflow:hidden; position:relative; } .bannera{ text-decoration:none; } .banner.pic-list{ width:10000px; height:500px; position:absolute; z-index:1; } .banner.pic-listimg{ width:1170px; float:left; } #buttons{ position:absolute; z-index:2; height:10px; bottom:20px; left:550px; } #buttonsspan{ cursor:pointer; float:left; border:1pxsolid#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(){ varpicNum=4;//图片数量,根据实际修改 varpicWidth=1170;//图片的宽度,根据实际修改 varpicMaxWidth=-1*picNum*picWidth; varcurrentPic=1; varnext=$('#next'); varprev=$('#prev'); varflag=false; prev.on('click',function(){ if(!flag){ calPx(1170); currentPic--; if(currentPic<1){ currentPic=picNum; } $('#buttonsspan').eq(currentPic-1).addClass('on').siblings().removeClass('on'); } }); next.on('click',function(){ if(!flag){ calPx(-1170); currentPic++; if(currentPic>picNum){ currentPic=1; } $('#buttonsspan').eq(currentPic-1).addClass('on').siblings().removeClass('on'); } }); $('.banner').on('mouseover',function(){ stop(); }).on('mouseout',function(){ play(); }) functionnextClick(){ next.click(); } functionplay(){ setInt=setInterval(nextClick,2000); } functionstop(){ clearInterval(setInt); } functioncalPx(leftPx){ flag=true; varleft=parseInt($('.pic-list').css('left')); varnewLeft=left+leftPx; vartime=300; varinterval=10; varspeed=leftPx/(time/interval); functiongo(){ varleft=parseInt($('.pic-list').css('left')); if((speed<0&&left>newLeft)||(speed>0&&left-1170){ newLeft=picMaxWidth; }elseif(newLeft 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。