手写无缝轮播banner
2024-08-30 07:40:45
<div class="banner">
<ul class="clearfloat bannerul xin" id="xin">
<!-- <li><img src="img/nbaner.png" /></li>
<li><img src="img/nbaner.png" /></li>
<li><img src="img/nbaner.png" /></li>
<li><img src="img/nbaner.png" /></li> -->
</ul>
<ul class="num clearfloat">
<li class="active"></li>
<li></li>
<li></li>
<li></li>
</ul>
<div>
<!-- <button class="ll" type="button">Click Me l!</button>
<button class="rr" type="button">Click Me r!</button> -->
<!-- <span class="left-btn-l">
<img src="data:images/lef1.png" width="26" class="ll">
</span>
<span class="right-btn-r">
<img src="data:images/rig1.png" width="26" class="rr">
</span> -->
</div>
</div>
Page.prototype.banner = function (data) {
var that = this;
var banners = $('.banner');
var bannerul = $('.bannerul');
var bannerulli = $('.bannerul li')
var widths = banners.width();
var lengths = bannerulli.length;
var sid = null;
var index = 0;
bannerulli.width(widths)
var bgc = []
for (var i = 0; i < data.length; i++) {
var tt = {};
tt.background = data[i].background;
bgc.push(tt);
}
banners.css(bgc[0]);
function play() {
index++;
if (index == lengths) {
index = 0;
banners.css(bgc[index]);
}
banners.css(bgc[index]);
core(index);
}
sid = setInterval(play, 5000);
banners.hover(function () {
clearInterval(sid)
}, function () {
sid = setInterval(play, 5000);
}); $(".num li").on('click', function () {
index = $(this).index();
banners.css(bgc[index]);
core(index);
}); function core(index) { $('.bannerul').append($('.bannerul li').eq(0).clone());//copy第一张添加在最后
bannerul.stop().animate({
'left': -(bannerulli.eq(0).innerWidth())
}, 1000,"linear",function(){
$('.bannerul li').eq(0).remove();//执行完删除第一个图片
bannerul.css({"left":"0px"});//初始化left值
});
$('.num li').eq(index).addClass('active').siblings().removeClass('active'); }
}
原理参考:https://www.cnblogs.com/zbblog/p/12053666.html
思路:不断copy第一张图片添加到最后。同时向左移动一定值。在执行动画结束回调执行remove首张图片。以此作为循环。
最新文章
- jQuery学习之prop和attr的区别示例介绍
- Appium中部分api的使用方法
- Android 图标尺寸与设计
- 30天C#基础巩固------this,base,string中的方法,StringBuilder性能
- Knockout.js初体验
- 压缩文本、字节或者文件的压缩辅助类-GZipHelper 欢迎收藏
- java代写
- EDE,DEDE网站搬家,DEDECMS搬家教程,一看就会
- Color
- Android Camera 流程梳理
- Http请求的 HttpURLConnection 和 HttpClient
- 借贷宝推广得现金是真的_注册就送人民币20元_邀请码CRJYQTK
- python idle 错误 subprocess didn&;#39;t make connection
- .net应用程序中添加chm帮助文档打开显示此程序无法显示网页问题
- iframe框架的应用
- Asp.Net Core 轻松学-多线程之Task快速上手
- vue填坑指南之模板的使用
- 【Android】详解Android Activity
- 全面理解Java内存模型(JMM)
- STL——map