<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. Microsoft Solitaire Collection

    Microsoft Solitaire Collection game https://zone.msn.com/gameplayer/gameplayerHTML.aspx?game=mssolit ...

  2. uniapp 发起网络请求

    推荐下我写的uni-http 创建http-config.js import Vue from 'vue' const BASE_URL = 'http://xxx.com'; if (process ...

  3. Flutter DraggableScrollableSheet 可滚动对象的容器

    文档 Example import 'package:flutter/material.dart'; void main() => runApp(MyApp()); class MyApp ex ...

  4. 【Python核心编程笔记】一、Python中一切皆对象

    Python中一切皆对象 本章节首先对比静态语言以及动态语言,然后介绍 python 中最底层也是面向对象最重要的几个概念-object.type和class之间的关系,以此来引出在python如何做 ...

  5. Echarts制作一张全球疫情图

    一.获取全球疫情数据 1)获取API 使用用友提供的新冠肺炎实时数据,登录注册之后可以免费使用. 2)点击用户信息 这里的AIPCODE,复制并保存,用于后续的使用. 3)API的使用 用友有提供一个 ...

  6. 观点纠正,yarn和npm对比,今天yarn仍然比npm快吗

    yarn和npm的区别和对比,网上很多了,不多说了. 只纠正一个观点:yarn仍然比npm快吗?不. 2016年,yarn刚刚发布,速度确实比npm快,于是网络上出现了好多推荐yarn的文章. 于是很 ...

  7. 两年Java,去字节跳动写Python和Go

    前言 2019年5月,在收到offer邮件的那一刻,我仍然不敢相信自己这一番际遇.经历了七场面试,终于得偿所望,拿到了字节跳动的offer. 做加入大厂的决定并不是巧合.在多年的职业生涯里,我曾多次对 ...

  8. CentOS7安装Maven3.6.3及Git2.8.3

    安装Maven3.6.3 点击进入官网 1:下载 wget https://mirror.bit.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-m ...

  9. 看完就懂--CSS选择器优先级的计算

    CSS选择器优先级的计算 什么是选择器的优先级 优先级的计算与比较(一) - 优先级具有可加性 - 选择器优先级不会超过自身最大数量级 - 同等优先级情况下,后写的覆盖前写的 - 并集选择器之间的优先 ...

  10. [同步到 MaixPy3 文档] 使用 Python 编程入门开源硬件项目

    本文是给有一点 Python 基础但还想进一步深入的同学,有经验的开发者建议跳过. 前言 在写这篇案例系列的时候 junhuanchen 期望能够引导用户如何成为专业的开发者,不是只会调用代码就好,所 ...