开发过程中需要用到图片轮播的插件,在网上找了几个插件之后还是决定自己码一个,比较简洁的功能,以后说不定还会有用。

ps:
功能比较简单,整个框并不能根据图片的大小自动调节,这里所用的图片是1170*500的,如果需要改成其他大小的图片,自行修改.pic-list下img的宽度。
.pic-list中的宽度为整个横幅的宽度,如果需要轮播的图片数量很多,.pic-list的宽度应大于数量*单张宽度,
html
<div class="banner">
<!--第一张图片为最后一张,用来做轮播连接使用,所以一开始显示的第一章,应是第二张图片,这里图片的宽度为1170px,所以一开始left为-1170px,同理最后一张图也为第一张图。-->
<div class="pic-list" style="left: -1170px">
<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
# 图片轮播
# 12款经典的白富美型—jquery图片轮播插件—前端开发必备
# 原生js和jquery实现图片轮播特效
# jQuery图片轮播的具体实现
# Jquery代码实现图片轮播效果(一)
# 基于JQuery的实现图片轮播效果(焦点图)
# 原生js和jquery实现图片轮播淡入淡出效果
# 基于jquery的图片轮播 tab切换组件
# jQuery插件slicebox实现3D动画图片轮播切换特效
# jQuery手动点击实现图片轮播特效
# 基于jQuery实现左右图片轮播(原理通用)
# 第一张
# 一张图
# 几个
# 还会
# 找了
# 也为
# 并不能
# 应是
# 不包括
# 大家多多
# 过程中
# 说不定
# 自动调节
# 在网上
# id
# span
# buttons
# href
# leftPx
# javascript
相关文章:
极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?
如何在云主机上快速搭建多站点网站?
如何做静态网页,sublimetext3.0制作静态网页?
平台云上自助建站如何快速打造专业网站?
北京网站制作的公司有哪些,北京白云观官方网站?
如何快速搭建响应式可视化网站?
音乐网站服务器如何优化API响应速度?
定制建站是什么?如何实现个性化需求?
建站之星安装后如何自定义网站颜色与字体?
如何通过wdcp面板快速创建网站?
黑客如何利用漏洞与弱口令入侵网站服务器?
小程序网站制作需要准备什么资料,如何制作小程序?
建站之星体验版:智能建站系统+响应式设计,多端适配快速建站
教学论文网站制作软件有哪些,写论文用什么软件
?
,制作一个手机app网站要多少钱?
头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?
如何选择高性价比服务器搭建个人网站?
微网站制作教程,不会写代码,不会编程,怎么样建自己的网站?
如何选择高效响应式自助建站源码系统?
小米网站链接制作教程,请问miui新增网页链接调用服务有什么用啊?
如何在万网自助建站平台快速创建网站?
家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?
宝塔Windows建站如何避免显示默认IIS页面?
mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?
枣阳网站制作,阳新火车站打的到仙岛湖多少钱?
香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化
如何高效生成建站之星成品网站源码?
车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?
建站之星上传入口如何快速找到?
网站制作话术技巧,网站推广做的好怎么话术?
如何在阿里云高效完成企业建站全流程?
中山网站制作网页,中山新生登记系统登记流程?
魔方云NAT建站如何实现端口转发?
东莞市网站制作公司有哪些,东莞找工作用什么网站好?
建站之星安装失败:服务器环境不兼容?
网页制作模板网站推荐,网页设计海报之类的素材哪里好?
建站主机选哪种环境更利于SEO优化?
如何挑选高效建站主机与优质域名?
购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?
网站制作公司,橙子建站是合法的吗?
制作农业网站的软件,比较好的农业网站推荐一下?
如何访问已购建站主机并解决登录问题?
建站之星导航菜单设置与功能模块配置全攻略
如何解决VPS建站LNMP环境配置常见问题?
详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)
如何用免费手机建站系统零基础打造专业网站?
如何在企业微信快速生成手机电脑官网?
定制建站如何定义?其核心优势是什么?
如何通过IIS搭建网站并配置访问权限?
专业公司网站制作公司,用什么语言做企业网站比较好?
*请认真填写需求信息,我们会在24小时内与您取得联系。