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

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
相关文章:
建站之星如何配置系统实现高效建站?
如何通过可视化优化提升建站效果?
音乐网站服务器如何优化API响应速度?
建站主机如何安装配置?新手必看操作指南
Swift中switch语句区间和元组模式匹配
专业网站建设制作报价,网页设计制作要考什么证?
建站主机默认首页配置指南:核心功能与访问路径优化
简易网站制作视频教程,使用记事本编写一个简单的网页html文件?
建站之星好吗?新手能否轻松上手建站?
如何快速搭建高效WAP手机网站吸引移动用户?
广东专业制作网站有哪些,广东省能源集团有限公司官网?
网站建设制作、微信公众号,公明人民医院怎么在网上预约?
网站制作哪家好,cc、.co、.cm哪个域名更适合做网站?
如何通过虚拟主机空间快速建站?
魔毅自助建站系统:模板定制与SEO优化一键生成指南
如何高效完成独享虚拟主机建站?
企业微网站怎么做,公司网站和公众号有什么区别?
Python多线程使用规范_线程安全解析【教程】
实现虚拟支付需哪些建站技术支撑?
教程网站设计制作软件,怎么创建自己的一个网站?
建站之星如何开启自定义404页面避免用户流失?
建站之星如何快速生成多端适配网站?
怎么用手机制作网站链接,dw怎么把手机适应页面变成网页?
可靠的网站设计制作软件,做网站设计需要什么样的电脑配置?
如何在阿里云域名上完成建站全流程?
如何安全更换建站之星模板并保留数据?
北京建设网站制作公司,北京古代建筑博物馆预约官网?
平台云上自主建站:模板化设计与智能工具打造高效网站
建站之星如何助力企业快速打造五合一网站?
c# await 一个已经完成的Task会发生什么
深圳网站制作的公司有哪些,dido官方网站?
建站之星后台密码如何安全设置与找回?
深圳网站制作培训,深圳哪些招聘网站比较好?
如何在阿里云虚拟服务器快速搭建网站?
手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?
如何快速搭建支持数据库操作的智能建站平台?
rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted
黑客如何利用漏洞与弱口令入侵网站服务器?
如何用腾讯建站主机快速创建免费网站?
网站设计制作公司地址,网站建设比较好的公司都有哪些?
详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)
济南企业网站制作公司,济南社保单位网上缴费步骤?
网站网页制作电话怎么打,怎样安装和使用钉钉软件免费打电话?
如何通过宝塔面板实现本地网站访问?
网页设计与网站制作内容,怎样注册网站?
网站规划与制作是什么,电子商务网站系统规划的内容及步骤是什么?
全景视频制作网站有哪些,全景图怎么做成网页?
如何在Golang中使用replace替换模块_指定本地或远程路径
C++ static_cast和dynamic_cast区别_C++静态转换与动态类型安全转换
建站之星导航如何优化提升用户体验?
*请认真填写需求信息,我们会在24小时内与您取得联系。