自动 点击切换 按钮切换 轮播无缝选项卡 ----原生js
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="author" content="智能社 - zhinengshe.com" />
<meta name="copyright" content="智能社 - zhinengshe.com" />
<meta name="description" content="智能社是一家专注于web前端开发技术的公司,目前主要提供JavaScript培训和HTML5培训两项服务,同时还推出了大量javascript基础知识教程,智能课堂为你带来全新的学习方法和快乐的学习体验。" />
<title>智能社— http://www.zhinengshe.com</title>
<style>
*{ margin:; padding:; list-style:none;}
#box{ width:534px; height:300px; position:relative; margin:50px auto; overflow:hidden;}
#box ul{ position:absolute; left:; top:;}
#box ul li{ float:left; width:534px; height:300px;}
#box ul li img{ height:300px;} #box a{ transition:.2s all ease;}
#box .prev,#box .next{position:absolute; top:%; z-index:; height:80px; line-height:80px; background:rgba(,,,0.6); color:#fff; width:80px; text-align:center; margin-top:-40px; display:none;}
#box .prev{ left:;}
#box .next{ right:;}
#box a:hover{ background:rgba(,,,0.4);} #box ol{ position:absolute; width:120px; left:%; margin-left:-60px; bottom:10px;}
#box ol li{ width:20px; height:20px; background:#f60; float:left; margin:2px; text-align:center; text-indent:-9999px; border-radius:%;}
#box ol li.active{ background:#fff;}
</style>
<script>
window.onload=function(){
var oBox=document.getElementById('box');
var oPrev=oBox.children[];
var oNext=oBox.children[];
var oUl=oBox.getElementsByTagName('ul')[];
var aLi=oUl.children;
var oOl=oBox.getElementsByTagName('ol')[];
var aBtn=oOl.children; //先复制一份
oUl.innerHTML+=oUl.innerHTML;
//算宽度
oUl.style.width=aLi.length*aLi[].offsetWidth+'px'; var W=oUl.offsetWidth/; //移入显示俩按钮
oBox.onmouseover=function(){
clearInterval(timer);
oPrev.style.display='block';
oNext.style.display='block';
}
oBox.onmouseout=function(){
timer=setInterval(function(){
iNow--;
tab();
},);
oPrev.style.display='none';
oNext.style.display='none';
}
//覆模循环一一对应。
var iNow=; //选项卡
for(var i=; i<aBtn.length; i++){
(function(index){
aBtn[i].onclick=function(){ if(index== && iNow%aBtn.length==aBtn.length-){//循环一圈后,index=0;iNow%aBtn.length=最后一张图片的时候。iNow都处于
//++;
iNow++;
}
if(index==aBtn.length- && iNow%aBtn.length==){//循环一圈后,index=最后一个下标;iNow%aBtn.length=第一张图片的时候。iNow都处于
//--;
iNow--;
} if(iNow>){
iNow=Math.floor(iNow/aBtn.length)*aBtn.length+index;//Math.floor(iNow/aBtn.length)*aBtn.length 和newMove 对应起来,只要开始动就得走一屏幕。对应的按钮也在对应着变化。
}else{
if(index== && iNow%aBtn.length==-){
iNow++;
}
iNow=Math.floor(iNow/aBtn.length)*aBtn.length+index;
}
tab();
document.title=iNow;
}
})(i);
} function tab(){
for(var i=; i<aBtn.length; i++){
aBtn[i].className='';
}
if(iNow<){
aBtn[(iNow%aBtn.length+aBtn.length)%aBtn.length].className='active';
}else{
aBtn[iNow%aBtn.length].className='active';
}
//oUl.style.left=-iNow*aLi[0].offsetWidth+'px';
console.log(iNow)
startMove(oUl,-iNow*aLi[].offsetWidth);
} //点击
oNext.onclick=function(){
iNow++;
tab(); }
var timer=null;
timer=setInterval(function(){
iNow--;
tab();
},); oPrev.onclick=function(){
iNow--;
tab(); }
var left=;
function startMove(obj,iTarget){
clearInterval(obj.timer);
obj.timer=setInterval(function(){
var iSpeed=(iTarget-left)/;// 总的距离/8得到速度。
//判断speed 正负,来取舍不同的值,不能为小数,每次都要求走一个li宽度。
iSpeed=iSpeed>?Math.ceil(iSpeed):Math.floor(iSpeed); if(left==iTarget){//判断l=iTaegrt要关闭定时器
clearInterval(obj.timer);
}else{
left+=iSpeed;
if(left<){
obj.style.left=left%W+'px';
}else{
obj.style.left=(left%W-W)%W+'px';
}
} },);
}
}
</script>
</head> <body>
<div id="box">
<a href="javascript:;" class="prev">prev</a>
<a href="javascript:;" class="next">next</a>
<ul>
<li><img src="img/0.jpg"></li>
<li><img src="img/1.jpg"></li>
<li><img src="img/2.jpg"></li>
<li><img src="img/3.jpg"></li>
<li><img src="img/4.jpg"></li>
</ul>
<ol>
<li class="active"></li>
<li></li>
<li></li>
<li></li>
<li></li>
</ol>
</div>
</body>
</html>
自动 点击切换 按钮切换 轮播无缝选项卡 ----原生js的更多相关文章
- 轮播插件、原生js编写,弄懂这个,基本上各种轮播都可以自己写了
直接上代码了: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <t ...
- 轮播图--使用原生js的轮播图
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 背景大图隔几秒切换(非轮播,淡入淡出)--变形金刚joy007 项目总结
工作日想了好久,周日回家才想出来的... 图片切换(非轮播,淡入淡出) 1.切换2.停止 <html> <head> <meta content="text/h ...
- 浅谈轮播图(原生JavaScript实现)
现在各种轮播图插件,玲琅满目,用起来也非常方便,通常只需要选择元素然后传入参数就可以了.但是,和授人以鱼不如授人以渔一样的道理,不管怎样最基本的轮播图原理还是应当掌握的.这样不仅有利于我们自己写出来满 ...
- JQuery实现图片轮播无缝滚动
图片轮播无缝滚动实例 实现效果展示预览: 思路: 1.设置当前索引curIndex,和前一张索引prevIndex.(curIndex为下一次要显示的图片索引,prevIndex为现在看见的图片) 2 ...
- 原生js+css3实现图片自动切换,图片轮播
运用CSS3transition及opacity属性 制作图片轮播动画 自己这两天根据用js来控制触发CSS3中transition属性,从而写出来的以CSS3动画为基础,js控制过程的图片轮播 运用 ...
- [Jquery]某宝图片轮播(无缝、带左右切换按钮)
[效果] 左右移动(非渐隐) [思路] 1.结构与样式 ①最外层div盒子当容器,里面ul宽度无限大并且相对定位(到时候移动其实移的是ul的left) ②按钮的透明度可用background:rgba ...
- swipe.js实现支持手拔与自动切换的图片轮播
一.Html代码如下: <div id='mySwipe' style='max-width:500px;margin:0 auto' class='swipe'> <div cla ...
- swiper.js在隐藏/显示切换时,轮播出现bug的解决办法
swiper在 swiper-container正常状态下显示,轮播是没有问题,但是当 swiper-container由隐藏切换至显示时(比如做图片查看时)会出现滑动bug,滑动卡顿而且最后一张可以 ...
随机推荐
- 困扰我多年的Connection reset问题
第一次出现:是thrift的python client去请求server,发现偶尔出现这个问题 第二次:接入第三方的api,去请求数据时,发现一个接入方的api第一次总是报这个错,当时又没有做处理,导 ...
- DataTable 导到Excel
/// <summary> /// 将DataTalbe导出到Excel中 /// </summary> /// <param name="dt"&g ...
- C#将字符串中间部分替换为*号
在做商城评价的时候,为了显示评价的真实性同时保护客户的隐私,我们将用户昵称中间部分替换为*(如果是单字则替换为* 两个字符串第二位字符串替换为*)如下图 方法如下: /// <summary&g ...
- c# 配置文件之configSections配置(三)
使用IConfigurationSectionHandler配置configSections ·步骤1:定义一个实体类 using System; using System.Collections.G ...
- Apache代理Tomcat实现session共享构建网上商城系统
一.环境介绍 二.安装配置后端服务器 三.安装配置前端服务器 四.配置Tomcat服务器实现session共享 五.构建网上商城系统 一.环境介绍 系统版本:CentOS 6.4_x86_64 Mys ...
- github的注册过程
带着疑问打开了github.这是一个神奇的网站,因为它到处都是英语,对于我这种英语盲这简直太痛苦了.借助了百度翻译,我还是马马虎虎的完成了github的制作. 首先在它的登录界面下面有一个sign u ...
- easyui datagrid
function initData(){ //数据列表 yftjsy=$("#yftjsy").datagrid({ url: '', fit:true, showFooter:f ...
- mysql 日期类型比较
MySQL 日期类型:日期格式.所占存储空间.日期范围 比较. 日期类型 存储空间 日期格式 日期范围 ------------ ------ ...
- 从c开始,小小感悟
c语言是众多编程小白进入编程大门的钥匙,不过许多人在学习一段时间以后就渐渐产生了困惑,枯燥的黑色界面渐渐让他们失去了"渴望",---我还不能制作出一款像样的软件,我还是只是在算数学 ...
- linux命令:less
1.命令介绍: less用来逐页输出文件内容,less相比more功能更加强大,less可以前后翻页,前后搜索. 2.命令格式: less [选项] 文件 3.命令参数: -b <缓冲区大小&g ...