手写无缝轮播banner
<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的更多相关文章
- jq写无缝轮播
今天分享一下我自己早几天写的一个效果:无缝轮播,虽然不难,很简单,也没有封装处理过,但是还是希望能帮到一些前端的小伙伴吧,如果有小伙伴感觉有更简化的写法希望可以一起交流一下,技术在于交流嘛,我的邮箱是 ...
- jquery手写焦点轮播图-------解决最后一张无缝跳转第一张的问题
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- javaScript 手写图片轮播
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- vue手写的轮播图片,解决已经修改data中的值,页面标签已绑定,但页面没效果
1.效果 2.index.html <!DOCTYPE html> <html lang="en"> <link> <meta chars ...
- 网站banner无缝轮播
网站banner无缝轮播 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> ...
- 原生js写一个无缝轮播图插件(支持vue)
轮播图插件(Broadcast.js) 前言:写这个插件的原因 前段时间准备用vue加上网易云的nodejs接口,模拟网易云音乐移动端.因为想自己写一遍所有的代码以及加固自己的flex布局,所以没有使 ...
- js 实现淘宝无缝轮播图效果,可更改配置参数 带完整版解析代码[slider.js]
前言: 本人纯小白一个,有很多地方理解的没有各位大牛那么透彻,如有错误,请各位大牛指出斧正!小弟感激不尽. 本篇文章为您分析一下原生JS写淘宝无缝轮播图效果 需求分析: ...
- 安卓开发笔记——自定义广告轮播Banner(实现无限循环)
关于广告轮播,大家肯定不会陌生,它在现手机市场各大APP出现的频率极高,它的优点在于"不占屏",可以仅用小小的固定空位来展示几个甚至几十个广告条,而且动态效果很好,具有很好的用户& ...
- Android真正意义上的无限轮播Banner
在android开发的时候,经常会使用到轮播图,对于这种效果,一般情况下,我们都会使用一种叫做ViewPager的来实现. 传统的实现逻辑是自定义一个View继承ViewPager,在适配器中 将co ...
随机推荐
- linux bash which
linux bash which https://linuxize.com/post/linux-which-command/ Linux which command is used to ident ...
- scroll calendar & scroll view
scroll calendar & scroll view https://taro-docs.jd.com/taro/docs/components/viewContainer/scroll ...
- HTML5 & custom element & template
HTML5 & custom element & template template https://codepen.io/xgqfrms/pen/eYYExvp https://cs ...
- node_puppeteer无界爬虫
环境:node----v14.5.0 vscode----2019 依赖库 (需要自行设置好目录结构,否则会报目录错误) const puppeteer = require("puppete ...
- C++入门教程:大白话讲解,新手基础篇⭐⭐⭐(附源码及详解、视频课程资料推荐)
目录 C++教程 前言 视频教程 文字教程 集成开发环境(IDE) 编译器 工作原理 学习指南 入门书籍 进阶书籍 算法.竞赛书籍 教程 标准构建 程序解释 第一个C++程序--"hello ...
- Spirent Testcenter二层DHCP绑定流配置
1.OLT配置 配一个VLAN,若GE口打Tag,不需要打PVID,打Untag,配PVID. 在ONU上配一个Other Bridge的WAN连接,并配置VLAN 2.TestCenter配置 选定 ...
- 实现Hi3559板载自启动网卡、NFS及Telnet服务
实现Hi3559板载开机自启动网卡.NFS及Telnet服务通过直接在home目录下,编辑.bashrc,vi ~/.bashrc 1 ifconfig eth0 up 2 ifconfig eth0 ...
- PAT-1145(Hashing - Average Search Time)哈希表+二次探测解决冲突
Hashing - Average Search Time PAT-1145 需要注意本题的table的容量设置 二次探测,只考虑正增量 这里计算平均查找长度的方法和书本中的不同 #include&l ...
- 面试准备——计算机网络(https)
一.为什么要提出HTTPS? HTTP的缺点: 明文通信.不加密,可能被窃听. 无身份验证,可能遭遇伪装. 无法证明报文的完整性,可能被篡改. 二.HTTPS = HTTP+加密(防窃听)+认证(防伪 ...
- 【odoo14】第八章、服务侧开发-进阶
本章代码位于作为GITHUB库 https://github.com/PacktPublishing/Odoo-14-Development-Cookbook-Fourth-Edition 在第五章( ...