js做的轮播图
以下那些注释呢,都是要靠自己理解才是最重要的,
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<style>
.banner{width: 800px;height: 300px;margin: auto;position: relative;}
.banner img{width: %;height: %;}
ul{position: absolute;left: %;transform:translate(-%,);bottom: 15px;list-style: none;}
li{float: left;width: 30px;height: 30px;background:rgba(,,,.);border-radius: %;text-align: center;line-height: 30px;font-weight: bold;margin-right:10px ;}
#zleft,#yright{width:0px;position: absolute;top: ;line-height: 300px;font-size: 80px;font-weight: bold;color: white;background: rgba(,,,0.3);overflow: hidden;transition: .8s;}
#zleft{left: ;}
#yright{right: ;}
</style>
</head>
<body onload="dong()"><!--进入页面先行加载某个函数-->
<div class="banner">
<img src="img/t0.jpg" />
<ul>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
<div id="zleft"><</div>
<div id="yright">></div>
</div> <script>
//获取所有需要的东西;
var banner=document.getElementsByClassName("banner")[];
var lis=document.getElementsByTagName("li");
var zleft=document.getElementById("zleft");
var yright=document.getElementById("yright");
var imgs=document.getElementsByTagName("img")[]; var timer=setInterval("dong()",); //给图片定时,让图片按定时器秒数动;
var index=-; //给图片给初始值;
function dong(){
index++;
resetColor(); //5.调用函数
lis[index].style.backgroundColor="yellow";//4.给轮播点做选中状态
imgs.src="img/"+"t"+index+".jpg"; //1.获取图片路径
if(index==){ //3.判断关键节点,最后一张与第一张的关联;
index=;
}
//2.路径循环
}
function resetColor(){ //5.创建一个函数(清楚上一个轮播点的状态)
for(var i=;i<lis.length;i++){
lis[i].style.backgroundColor="rgba(255,255,255,.3)"
}
}
// btn点击
for (var i=;i<lis.length;i++) { //1.循环轮播点
lis[i].onclick = function(){ //2.给轮播点做点击
clearInterval(timer);//5.清楚名为timer的定时器
index = this.innerHTML-; //3.当前下标等于页面中的数字;注意:后面的减一;
imgs.src = "img/"+"t"+index +".jpg";//4.获取图片路径
resetColor();//6.获取上面的,清楚上一个轮播点的状态的函数
lis[index].style.background = "yellow"//6.清楚函数的样式 }
}
// 鼠标悬浮banner
banner.onmouseover = function(){//1.鼠标放到banner上的时候
clearInterval(timer); //3.清楚定时器
zleft.style.width = yright.style.width = "60px"; //2.两边按钮出现;这里要注意,上面设置按钮宽度的时候,给宽设置为0px
}
banner.onmouseout = function(){//1.鼠标离开banner上的时候
timer = setInterval("dong()",);//3.恢复轮播动
zleft.style.width = yright.style.width = "0px";//2.两边按钮消失
}
zleft.onclick = function(){//左边按钮点击
index--;
if (index ==-){//最后一张,与第一张之间的衔接
index = ;
}
resetColor()//获取清楚轮播点的函数
lis[index].style.background ="yellow"
imgs.src = "img/"+"t"+index+".jpg";//获取图片路径
}
yright.onclick = function(){
index++;
if (index == ){
index = ;
}
resetColor()
lis[index].style.background = "yellow"
imgs.src = "img/"+"t"+index+".jpg";
}
</script>
</body>
</html>
js做的轮播图的更多相关文章
- 原生JS实现简易轮播图
原生JS实现简易轮播图(渐变?) 最近做网页总是会用到轮播图,我就把之前写的轮播图单独拿出来吧,如果有...如果真的有人也需要也可以复制去用用啊..哈~.. window.onload = funct ...
- jQuery与原生js实现banner轮播图
jQuery与原生js实现banner轮播图: (jq需自己加载)(图片需自己加载) <!DOCTYPE html> <html> <head> <meta ...
- JS+css3焦点轮播图PC端
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- js原生实现轮播图效果(面向对象编程)
面向对象编程js原生实现轮播图效果 1.先看效果图 2.需要实现的功能: 自动轮播 点击左右箭头按钮无缝轮播 点击数字按钮切换图片 分析:如何实现无缝轮播? 在一个固定大小的相框里有一个ul标签,其长 ...
- 自己用原生JS写的轮播图,支持移动端触屏滑动,面向对象思路。分页器圆点支持click和mouseover。
自己用原生javascript写的轮播图,面向对象思路,支持移动端手指触屏滑动.分页器圆点可以选择click点击或mouseover鼠标移入时触发.图片滚动用的setInterval,感觉setInt ...
- JS 实现动态轮播图
JavaScript实现轮播图思路 + html/css + js源码 整个轮播图的效果是通过js代码,操作dom, 拿到html我们需要的元素,控制整个ul的距离浏览器左边的位置,让排好的图片依次出 ...
- JS学习笔记--轮播图效果
希望通过自己的学习收获哪怕收获一点点,进步一点点都是值得的,加油吧!!! 本章知识点:index this for if else 下边我分享下通过老师教的方式写的轮播图,基础知识实现: 1.css代 ...
- 原生 js 左右切换轮播图
使用方法: 可能很多人对轮播图感兴趣,下面奉上本人的 原生 js 轮播代码复制 js 到页面的最底部,样式在 css 里改,js 基本不用动,有什么不懂的可以 加本人 QQ172360937 咨询 或 ...
- photoSlider-原生js移动开发轮播图、相册滑动插件
详细内容请点击 在线预览 立即下载 使用方法: 分别引用css文件和js文件 如: <link rel="stylesheet" type="text/css& ...
随机推荐
- pyqt-QGrapicsView 坐标系详解
PTQT——GraphicsView框架 转载 原网址 http://blog.51cto.com/9291927/1879128 一.GraphicsView框架简介 QT4.2开始引入了Graph ...
- Navicat Premium 12激活教程
Navicat Premium 12激活教程 1.软件包的下载 百度云地址链接: 注册机:https://pan.baidu.com/s/1KzmCbVYcVoXt_t4osXk3Kw 提取码: q ...
- Python常用字符编码(转)
Python常用字符编码 字符编码的常用种类介绍 第一种:ASCII码 ASCII(American Standard Code for Information Interchange,美国信息交 ...
- bash小技巧1 获取文件当前路径
我们linux获取文件当前路径一般问 #逼格不够高 [root@xxxx]# pwd 高逼格 SHELL_FOLDER=$(dirname $(readlink -f "$0"))
- cordova/ionic打包流程
ionic android 手工打包指令手册 [工作平台要求] 安装 node.js.cordova.ionic(非必须) 等前端相关软件与组件(1)安装 Java-SDK,正确配置系统环境变量 JA ...
- 区块链之Hyperledger(超级账本)Fabric v1.0 的环境搭建(更新)
参考链接:https://blog.csdn.net/so5418418/article/details/78355868 https://blog.csdn.net/wgh1015398431/ ...
- 我们一起踩过的坑----react(antd)(一)
1.}] && ){ ){ ){ ||){ ){ );); , }; }); }, beforeUpload: (file) => { ...
- numpy总结
介绍 numpy是一个功能强大的python库.机器学习中,需要对矩阵进行各种数值计算,numpy对其提供非常好的库,用于简单和快速计算. 常用函数库 数组属性 ndarray.ndim:秩,即轴的数 ...
- 验证当前启动APP的Package 和 Activity
1. 打开手机USB 调试开关 2. 执行: adb devices 3.启动你的测试APP (如手机QQ) 4.执行:adb shell dumpsys window |findstr mCurre ...
- Python __dict__属性详解
本文转载自 https://www.cnblogs.com/alvin2010/p/9102344.html 感谢 //偏执 大佬 我们都知道Python一切皆对象,那么Python究竟是怎么管理对象 ...