JavaScript之轮播图
(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之轮播图的更多相关文章
- JavaScript焦点轮播图
在慕课学习了JavaScript焦点轮播图特效,在此做一个整理. 首先是html结构,我用的是本地同文件夹下的三张图片,多出来的第一张(pic3副本)和最后一张图片(pic1副本)是为了实现无缝切换效 ...
- HTML+CSS+Javascript实现轮播图效果
HTML+CSS+Javascript实现轮播图效果 注意:根据自己图片大小来更改轮播图大小. <!doctype html> <html> <head> < ...
- 原生javascript焦点轮播图
刚刚学会,写了一个轮播图效果,不过bug蛮多,请高手指点一下,谢谢 <!DOCTYPE html> <html> <head> <meta charset=& ...
- JavaScript实现轮播图效果
我又来了,同志们.老想你们了 捕获小可爱一枚. 下面进入正题:用JavaScript原生代码写轮播图效果. 具体效果就不多说了,网站上面的轮播效果我们都知晓.下面是展示代码 html代码: <d ...
- 【JavaScript】轮播图
代码: <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <tit ...
- JavaScript 自适应轮播图
代码 话不多说,先上代码,方便复制粘贴.演示 <!DOCTYPE html> <html lang="en"> <head> <meta ...
- javascript简单轮播图
**轮播图实现原理: 通过多张图片平铺,用overflow:hidden只显示一张图片.其他的隐藏,无缝滚动用定时器改变元素的left值让图片呈现左右滚动的效果.** HTML布局和内容: 1.容器c ...
- javaScript实现轮播图
一.需求分析 在首页完成对轮播图的效果实现,完成自动切换图片的功能. 二.技术分析 获取元素 document.getElementById(“id 名称”) 事件(onload) 定时操作: set ...
- 原生JavaScript实现轮播图
---恢复内容开始--- 实现原理 通过自定义的animate函数来改变元素的left值让图片呈现左右滚动的效果 HTML: <!DOCTYPE html> <html> &l ...
随机推荐
- 【Swoole】php7.1安装swoole扩展
参照:https://zixuephp.net/article-430.html 1.源码编译安装,PHP版本7.1.33 2.在已经编译好安装的php7.1中安装swoole扩展. 一.下载swoo ...
- grpc使用记录(一) gRPC编译(mscv/gcc)
目录 1.编译前的准备工作 2.Windows下使用VS2019编译 2.1.使用cmake生成VS2019解决方案 2.2.使用msbuild工具进行编译 3.linux下编译 3.1 CentO ...
- 运维笔记--SqlServer相关版本&下载&安装&配置远程连接
下载地址:SqlServer2008为例 SqlServer2008:https://www.microsoft.com/en-us/download/details.aspx?id=1695 Sql ...
- java面试题实战三
华为优招面试经验. 1.笔试(这部分按照华为以前的风格不会为难人的,认真做AC一道题就可以进面试了,我编程能力一般吧,做了一道半而已,-_-||!) 2.测评(性格测试,不要太偏激就行了) 3.面试分 ...
- cisco路由器telnet及设置用户名和密码的几种方式
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/sxajw/article/details ...
- Spring Boot接入 apollo 后启动 dubbo 报错
原文地址:https://xobo.org/spring-boot-apollo-dubbo-xml-error/ 某Spring Boot项目接入 apollo 后启动 dubbo 报错Caused ...
- locale区域语言设置
查看当前配置 # 默认配置[maintain@localhost:~]$ locale LANG=zh_CN.utf8 LC_CTYPE="zh_CN.utf8" LC_NUMER ...
- 右键管理员身份打开 命令行cmd
添加到注册表将下面命令保存为reg文件: Windows Registry Editor Version 5.00 [-HKEY_CLASSES_ROOT\Directory\shell\runas] ...
- Centos6 系统下源码方式安装Mysql 记录
在运维工作中经常部署各种运维环境,涉及mysql数据库的安装也是时常需要的.mysql数据库安装可以选择yum在线安装,但是这种安装的mysql一般是系统自带的,版本方面可能跟需求不太匹配. #### ...
- 验证Prometheus alertmanager邮件发送
新环境上配置alertmanager时出现了“Client was not authenticated to send anonymous mail during MAIL FROM”错误,但老环境上 ...