(1)html

<div class="box" id="box">
<ul class="uls" id="uls">
<li><img src="img/one.jpg" alt=""></li>
<li><img src="img/two.jpg" alt=""></li>
<li><img src="img/three.jpg" alt=""></li>
<li><img src="img/four.jpg" alt=""></li>
<li><img src="img/five.jpg" alt=""></li>
<li><img src="img/six.jpg" alt=""></li>
</ul>

<span id="left">左</span>
<span id="right">右</span>
<ol id="ols" class="ols">
<li class="selected"></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
</ol>
</div>

(2)css

*{
margin: 0px;
padding: 0px;
}
.box{
width: 520px;
height: 280px;
border: 1px solid #000;
margin: 50px auto;
overflow: hidden;
position: relative;
}
.uls{
list-style: none;
width: 99999px;
/*给ul足够大的宽度,使li可以全部水平排列*/
}
.uls li{
float: left;
}

.box>span{
position: absolute;
width: 20px;
height: 30px;
background: rgba(0,0,0,0.7);
top: 50%;
margin-top: -15px;
color: white;
cursor: pointer;
text-align: center;
line-height: 30px;
}
#left{
left: 20px;
}
#right{
right: 20px;
}

.ols{
position: absolute;
bottom: 20px;
left: 50%;
margin-left: -111px;
list-style: none;
}
.ols li{
float: left;
width: 20px;
height: 20px;
border-radius: 50%;
border: 1px solid #f60;
margin-right: 15px;
cursor: pointer;
}
.ols li.selected{
background: #f60;
}

(3)JavaScript

var ouls=document.getElementById('uls');
var obox=document.getElementById('box');
var oright=document.getElementById('right');
var oleft=document.getElementById('left');
var olis=document.getElementById('ols').children;
var timer;
var num=0;

function go(){
// 自动轮播
timer=setInterval(function(){
num++;
if(num>5){
num=0;
}
ouls.style.marginLeft=-520*num+'px';

for(var i=0;i<olis.length;i++){
olis[i].setAttribute('class','');
}
olis[num].setAttribute('class','selected');
},1000)
}
go();

obox.onmouseenter=function(){
// 鼠标移入,停止定时器
clearInterval(timer);
}

obox.onmouseleave=function(){
// 鼠标移出,启动定时器
go();
}

// 点击向右按钮
oright.onclick=function(){
num++;
if(num>5){
num=0;
}
ouls.style.marginLeft=-520*num+'px';

for(var i=0;i<olis.length;i++){
olis[i].setAttribute('class','');
}
olis[num].setAttribute('class','selected');
}
// 点击向左按钮
oleft.onclick=function(){
num--;
if(num<0){
num=5;
}
ouls.style.marginLeft=-520*num+'px';

for(var i=0;i<olis.length;i++){
olis[i].setAttribute('class','');
}
olis[num].setAttribute('class','selected');
}

// 底部导航栏
for(var i=0;i<olis.length;i++){
olis[i].setAttribute('index', i);
olis[i].onclick=function(){
num=this.getAttribute('index');
for(var i=0;i<olis.length;i++){
olis[i].setAttribute('class','');
}
this.setAttribute('class', 'selected');

ouls.style.marginLeft=-520*num+'px';

}
}

JavaScript之轮播图的更多相关文章

  1. JavaScript焦点轮播图

    在慕课学习了JavaScript焦点轮播图特效,在此做一个整理. 首先是html结构,我用的是本地同文件夹下的三张图片,多出来的第一张(pic3副本)和最后一张图片(pic1副本)是为了实现无缝切换效 ...

  2. HTML+CSS+Javascript实现轮播图效果

    HTML+CSS+Javascript实现轮播图效果 注意:根据自己图片大小来更改轮播图大小. <!doctype html> <html> <head> < ...

  3. 原生javascript焦点轮播图

    刚刚学会,写了一个轮播图效果,不过bug蛮多,请高手指点一下,谢谢 <!DOCTYPE html> <html> <head> <meta charset=& ...

  4. JavaScript实现轮播图效果

    我又来了,同志们.老想你们了 捕获小可爱一枚. 下面进入正题:用JavaScript原生代码写轮播图效果. 具体效果就不多说了,网站上面的轮播效果我们都知晓.下面是展示代码 html代码: <d ...

  5. 【JavaScript】轮播图

    代码: <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <tit ...

  6. JavaScript 自适应轮播图

    代码 话不多说,先上代码,方便复制粘贴.演示 <!DOCTYPE html> <html lang="en"> <head> <meta ...

  7. javascript简单轮播图

    **轮播图实现原理: 通过多张图片平铺,用overflow:hidden只显示一张图片.其他的隐藏,无缝滚动用定时器改变元素的left值让图片呈现左右滚动的效果.** HTML布局和内容: 1.容器c ...

  8. javaScript实现轮播图

    一.需求分析 在首页完成对轮播图的效果实现,完成自动切换图片的功能. 二.技术分析 获取元素 document.getElementById(“id 名称”) 事件(onload) 定时操作: set ...

  9. 原生JavaScript实现轮播图

    ---恢复内容开始--- 实现原理 通过自定义的animate函数来改变元素的left值让图片呈现左右滚动的效果 HTML: <!DOCTYPE html> <html> &l ...

随机推荐

  1. Vue系列——动态设置img标签的src属性

    声明 本文转自:vue动态设置img的src路径 正文 相信开发的小伙伴已经遇到这个问题了,动态切换img标签的src时,写的路径就是不生效,原因是vue并没有把你的路径字符串当做路径来处理,而是直接 ...

  2. JVM探究之 —— 垃圾回收(一)

    垃圾收集(Garbage Collection,GC),大部分人都把这项技术当做Java语言的伴生产物.事实上,GC的历史比Java久远,1960年诞生于MIT的Lisp是第一门真正使用内存动态分配和 ...

  3. 安全漏洞XSS、CSRF、SQL注入以及DDOS攻击

    随着互联网的普及,网络安全变得越来越重要,程序员需要掌握最基本的web安全防范,下面列举一些常见的安全漏洞和对应的防御措施. 0x01: XSS漏洞 1.XSS简介 跨站脚本(cross site s ...

  4. C#反射方式调用泛型方法

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  5. css 设置div半透明 悬浮在页面底部 不随滚动条滚动

    .action-button { width: 100%; background:rgba(0,0,0,0.7); position:fixed; bottom:; left:; z-index:; ...

  6. yum安装python3.6的方法

    # centos7 # 换成阿里云的yum源 yum -y install epel-release yum repolist yum -y install python36 测试 [root@loc ...

  7. Springboot Mybatis 集成 Redis

    版本信息 Sprintboot 采用 2.1.7 RELEASE 版本 Mybatis 采用 2.1.0 Redis 采用 2.1.6.RELEASE Redis 的使用 添加 Redis 依赖 &l ...

  8. 2的幂和按位与&——效率

    以前学生时代,只是完成功能就行,进入公司之后,由于产品的特殊性,需要非常考虑效率,发现有以下几个策略(该文不定时更新): hash%length==hash&(length-1)的前提是len ...

  9. 第一节:Python+Selenium环境搭建

    一.selenium工作原理 二.安装python Window系统下,python的安装很简单.访问python.org/download,下载最新版本,安装过程与其他windows软件类似.记得下 ...

  10. 分布式事务一2PC

    分布式事务解决方案之2PC(两阶段提交) 前面已经学习了分布式事务的基础理论,以理论为基础,针对不同的分布式场景业界常见的解决方案有2PC.TCC.可靠消息最终一致性.最大努力通知这几种. 3.1.什 ...