简易轮播图、内含定时器。熟练JS操作
HTML部分:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script type="text/javascript" src = "lunbotu.js"></script>
<style>
#kuai{
width: 50%;
height: 300px;
margin: auto;
position: relative;
overflow: hidden;
text-overflow:ellipsis;
white-space: nowrap;
}
#kuai img{
width: 100%;
height: 100%;
}
#btn_1{
position: absolute;
top: 50%;
left: 0px;
}
#btn_2{
position: absolute;
top: 50%;
right: 0px;
}
#botBtn{
width: 300px;
height: 25px;
background-color: #ccc;
position: absolute;
bottom: 0px;
left: 30%;
}
.redC{
color: red;
}
</style>
</head>
<body>
<div id="kuai">
<!-- 在页面上显示一张图片 -->
<div id="tupian">
<img onmouseover="qingchudsq()" onmouseout="go_on()" src="data:image/J1.png" alt="">
</div>
<!-- 换行需要一个按钮需要一个按钮,叫下一页 -->
<button onclick="xiayiye()" id="btn_1">下一页</button>
<button onclick="shangyiye()" id="btn_2">上一页</button>
<div id="botBtn">
</div>
</div>
</body>
</html>
JS部分:
var imgObj = null;
// 定义一个数组存放src路径
var imgArrObj = ['image/J1.png','image/J2.png','image/J3.png','image/J4.png'];
var i = 0;//下标
var a = null;
var box = null;
window.onload = function(){
init();//初始化变量
dingshiqi();// 定时器
addBtn();//添加按钮
}
function init(){
imgObj = document.getElementsByTagName('img')[0];
box = document.getElementById('botBtn');
}
//变色
function bianse(){
//找到所有
var btns = box.getElementsByTagName('button');
// 删除class
for (var k = 0; k < btns.length; k++) {
btns[k].removeAttribute('class');
}
btns[i].setAttribute('class','redC');
}
// 下一页
function xiayiye(){
// 替换属性值
// 改变下标
i++;
if (i >= imgArrObj.length ){
i =0;
}
imgObj.setAttribute('src',imgArrObj[i]);
bianse();
}
//上一页
function shangyiye(){
i--;
if (i < 0) {
i = imgArrObj.length - 1;
}
imgObj.setAttribute('src',imgArrObj[i]);
bianse();
}
//定时器
function dingshiqi(){
a = setInterval(function(){
xiayiye();
// i++;
// if (i >= imgArrObj.length ){
// i =0;
// }
// imgObj.setAttribute('src',imgArrObj[i]);
},2000);
}
function addBtn(){
var str = '';
for (var k = 0;k < imgArrObj.length;k++) {
if (k==0) {
str += '<button class="redC" onclick="ch('+k+')">'+ (k+1) +"</button>";
}else{
str += '<button onclick="ch('+k+')">'+ (k+1) +"</button>";
}
}
box.innerHTML = str;
}
function ch(num){
i = num;
imgObj.setAttribute('src',imgArrObj[i]);
bianse();
}
// 清除定时器
function qingchudsq(){
clearInterval(a);
}
function go_on(){
dingshiqi();
}
简易轮播图、内含定时器。熟练JS操作的更多相关文章
- 原生JS实现简易轮播图
原生JS实现简易轮播图(渐变?) 最近做网页总是会用到轮播图,我就把之前写的轮播图单独拿出来吧,如果有...如果真的有人也需要也可以复制去用用啊..哈~.. window.onload = funct ...
- 原生js一行代码实现简易轮播图
这是一个简易的js无限循环轮播图,只用了一行js代码就实现了无限循环,记录一下三目运算符的伟大! <!DOCTYPE html><html lang="en"&g ...
- jQuery实现简易轮播图的效果
(图片素材取自于小米官网) 刚开始接触jQuery的学习,个人觉得如果为了实现多数的动态效果,jQuery的确很简易方便. 下面简易的轮播图效果,还请前辈多多指教~ (努力学习react vue an ...
- 纯js轮播图练习-2,js+css旋转木马层叠轮播
基于css3的新属性,加上js的操作,让现在js轮播图花样越来越多. 而现在出现的旋转木马层叠轮播的轮播图样式,却是得到了很多人都喜爱和投入使用. 尤其是在各大软件中,频繁的出现在大家的眼里,在web ...
- 轮播图切换 纯html+js+css
如图所示. 该图片切换特效实现很简单,而且兼容性很好. html页面如下 复制代码代码如下: <div class="wrapper"> <div id=&quo ...
- vue简易轮播图
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- JQuery简易轮播图
html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <titl ...
- 用CSS代码编写简易轮播图
废话不多说,直接上代码 <!doctype html> <html> <head> <title></title> <meta cha ...
- JS 实现动态轮播图
JavaScript实现轮播图思路 + html/css + js源码 整个轮播图的效果是通过js代码,操作dom, 拿到html我们需要的元素,控制整个ul的距离浏览器左边的位置,让排好的图片依次出 ...
随机推荐
- laravel之数据库增删改查
- jenkins-参数化构建(三)插件:Git Parameter
一.下载插件Git Parameter (更加省事) 在配置中branch和tag用的比较多 注意:Credential 可以添加密码,jenkins如果在root用户下载的请改 /etc/sys ...
- Linux下提权常用小命令
有些新手朋友在拿到一个webshell后如果看到服务器是Linux或Unix操作系统的就直接放弃提权,认为Linux或Unix下的提权很难,不是大家能做的,其实Linux下的提权并没有很多人想象的那么 ...
- 扫毒>>观后感
观后感 中学时期,甚至在小学时期,那个很懵懂的年龄, 看了什么电影,去了哪里,都要写观后感. 那个时候觉得观后感很玄学,为啥看的电影都一样,去的地方都一样, 为啥人家的观后感貌似说的真的有那么点道理, ...
- CS(计算机科学)知识体
附 录 A CS( 计算机科学)知识体 计算教程 2001 报告的这篇附录定义了计算机科学本科教学计划中可能讲授的知识领域.该分类方案的依据及其历史.结构和应用的其 ...
- springboot+rediscluster
@EnableCaching @Configuration public class RedisConfiguration extends CachingConfigurerSupport { @Au ...
- Windows10 正式企业版激活
一.镜像 https://www.landiannews.com/archives/51102.html 二.ISO镜像文件比对SHA1值,判定文件是否被篡改 https://msdn.itellyo ...
- c++11 强类型枚举 enum class
在标准C++中,枚举类型不是类型安全的.枚举类型被视为整数,这使得两种不同的枚举类型之间可以进行比较.C++03 唯一提供的安全机制是一个整数或一个枚举型值不能隐式转换到另一个枚举别型. 此外,枚举所 ...
- C# Asp.net中简单操作MongoDB数据库(二)
C# Asp.net中简单操作MongoDB数据库(一) , mongodb数据库连接可以回顾上面的篇幅. 1.model类: public class BaseEntity { /// < ...
- python numpy库的基本内容
import numpy as np np.getfromtxt("路径",delimiter = "," ,dtype = str) #读取txt文件数据 ...