<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首张图片。以此作为循环。

手写无缝轮播banner的更多相关文章

  1. jq写无缝轮播

    今天分享一下我自己早几天写的一个效果:无缝轮播,虽然不难,很简单,也没有封装处理过,但是还是希望能帮到一些前端的小伙伴吧,如果有小伙伴感觉有更简化的写法希望可以一起交流一下,技术在于交流嘛,我的邮箱是 ...

  2. jquery手写焦点轮播图-------解决最后一张无缝跳转第一张的问题

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. javaScript 手写图片轮播

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  4. vue手写的轮播图片,解决已经修改data中的值,页面标签已绑定,但页面没效果

    1.效果 2.index.html <!DOCTYPE html> <html lang="en"> <link> <meta chars ...

  5. 网站banner无缝轮播

    网站banner无缝轮播 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> ...

  6. 原生js写一个无缝轮播图插件(支持vue)

    轮播图插件(Broadcast.js) 前言:写这个插件的原因 前段时间准备用vue加上网易云的nodejs接口,模拟网易云音乐移动端.因为想自己写一遍所有的代码以及加固自己的flex布局,所以没有使 ...

  7. js 实现淘宝无缝轮播图效果,可更改配置参数 带完整版解析代码[slider.js]

    前言:         本人纯小白一个,有很多地方理解的没有各位大牛那么透彻,如有错误,请各位大牛指出斧正!小弟感激不尽.         本篇文章为您分析一下原生JS写淘宝无缝轮播图效果 需求分析: ...

  8. 安卓开发笔记——自定义广告轮播Banner(实现无限循环)

    关于广告轮播,大家肯定不会陌生,它在现手机市场各大APP出现的频率极高,它的优点在于"不占屏",可以仅用小小的固定空位来展示几个甚至几十个广告条,而且动态效果很好,具有很好的用户& ...

  9. Android真正意义上的无限轮播Banner

    在android开发的时候,经常会使用到轮播图,对于这种效果,一般情况下,我们都会使用一种叫做ViewPager的来实现. 传统的实现逻辑是自定义一个View继承ViewPager,在适配器中 将co ...

随机推荐

  1. tree traversal

    tree traversal tree 遍历 中序,顺序,左中右 先序,先父节点,中左右 后序,先子节点,左右中 二叉搜索树 "use strict"; /** * * @auth ...

  2. bob and brad physical therapy knee exercise

    bob and brad physical therapy knee exercise 鲍勃和布拉德物理治疗膝关节运动 https://bobandbrad.com/ youtube https:// ...

  3. APC体育公司重视“女性经济 ”深度挖掘女性市场

    据消费者追踪服务调查数据显示,从2020年1月到8月,a private company体育公司(公司编号:08703733)品牌下的女性运动服装的在线销售额较上一年增长了77%. 女性市场已然成为A ...

  4. Elasticsearch CRUD基本操作

    前言 本次我们聊一聊Elasticsearch的基本操作CRUD,他跟我们常用的关系型数据库的操作又有什么不一样的地方呢?今天我们就来好好讲解一番. 说明 本次演示用的版本是7.11. 工具可以使用K ...

  5. 【Notes_8】现代图形学入门——几何(基本表示方法、曲线与曲面)

    几何 几何表示 隐式表示 不给出点的坐标,给数学表达式 优点 可以很容易找到点与几何之间的关系 缺点 找某特定的点很难 更多的隐式表示方法 Constructive Solid Geometry .D ...

  6. Get optimized undo_retention size for Oracle

    reference: https://www.akadia.com/services/ora_optimize_undo.html#:~:text=Turning%20on%20automatic%2 ...

  7. TorchVision 预训练模型进行推断

    torchvision.models 里包含了许多模型,用于解决不同的视觉任务:图像分类.语义分割.物体检测.实例分割.人体关键点检测和视频分类. 本文将介绍 torchvision 中模型的入门使用 ...

  8. Vue框架-组件的概念及使用

    目录 一.Vue组件 1. 组件分类 1.1 根组件 1.2 局部组件 1.3 全局组件 2. 组件的特点 3. 如何创建组件 4. 组件的数据局部化 5. 组件传参·父传子 6. 组件传参·子传父 ...

  9. [转载]Android MVC,MVP和MVVM 思想&例子

    在Android开发中,常采用 MVC(Model-View-Controller)或者MVP(Model-View-Presenter) 等框架模式.设计如图   mvc mvp 可以看出,在 MV ...

  10. Python3基础-目录

    Python3基础-目录(Tips:长期更新Python3目录) 第一章 初识Python3  1.1 Python3基础-前言  1.2 Python3基础-规范 第二章 Python3内置函数&a ...