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操作的更多相关文章

  1. 原生JS实现简易轮播图

    原生JS实现简易轮播图(渐变?) 最近做网页总是会用到轮播图,我就把之前写的轮播图单独拿出来吧,如果有...如果真的有人也需要也可以复制去用用啊..哈~.. window.onload = funct ...

  2. 原生js一行代码实现简易轮播图

    这是一个简易的js无限循环轮播图,只用了一行js代码就实现了无限循环,记录一下三目运算符的伟大! <!DOCTYPE html><html lang="en"&g ...

  3. jQuery实现简易轮播图的效果

    (图片素材取自于小米官网) 刚开始接触jQuery的学习,个人觉得如果为了实现多数的动态效果,jQuery的确很简易方便. 下面简易的轮播图效果,还请前辈多多指教~ (努力学习react vue an ...

  4. 纯js轮播图练习-2,js+css旋转木马层叠轮播

    基于css3的新属性,加上js的操作,让现在js轮播图花样越来越多. 而现在出现的旋转木马层叠轮播的轮播图样式,却是得到了很多人都喜爱和投入使用. 尤其是在各大软件中,频繁的出现在大家的眼里,在web ...

  5. 轮播图切换 纯html+js+css

    如图所示. 该图片切换特效实现很简单,而且兼容性很好. html页面如下 复制代码代码如下: <div class="wrapper"> <div id=&quo ...

  6. vue简易轮播图

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. JQuery简易轮播图

    html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <titl ...

  8. 用CSS代码编写简易轮播图

    废话不多说,直接上代码 <!doctype html> <html> <head> <title></title> <meta cha ...

  9. JS 实现动态轮播图

    JavaScript实现轮播图思路 + html/css + js源码 整个轮播图的效果是通过js代码,操作dom, 拿到html我们需要的元素,控制整个ul的距离浏览器左边的位置,让排好的图片依次出 ...

随机推荐

  1. js中级6

    1.动画 (1)Css样式提供了运动 过渡属性transition  从一种情况到另一种情况叫过渡 transition:time          linear                 de ...

  2. CDN请求失败,请求本地

    方法一: <script src="http://lib.sinaapp.com/js/jquery11/1.8/jquery.min.js"></script& ...

  3. 总结-Linux

    linux基本操作 系统设置 创建用户 useradd -d /home/liaolongjun -m liaolongjun 设置密码 passwd liaolongjun 查看主机名 uname ...

  4. [emacs] emacs调整C代码的缩进格式等

    相比于VIM,emacs在默认配置下写C代码还真是不好用. 好多东西都要调整,其中最麻烦的就是缩进.调啊调,调了好久. 勉强形成一个配置如下: (add-hook 'c-mode-hook (lamb ...

  5. python基础之类的多态与多态性

    原文链接:https://www.cnblogs.com/luchuangao/p/6739557.html 很多人喜欢将多态与多态性二者混为一谈,然后百思不得其解,其实只要分开看,就会很明朗. 一 ...

  6. 改造一下jeecg中的部门树

    假装有需求 关于 jeecg 提供的部门树,相信很多小伙伴都已经用过了,今天假装有那么一个需求 "部门树弹窗选择默认展开下级部门",带着这个需求再次去探索一下吧. 一.改造之前的部 ...

  7. 两个ArrayList之间求交并补

    class ArraylistCalculate{ // 两个整数集求差集 public ArrayList<Integer> integerArrayListDifference( Ar ...

  8. python split 的应用

    # 1. 有字符串 "k:1|k1:2|k2:3|k3:4" 处理成字典 {"k":1, "k1":2,...}a1 = "k:1 ...

  9. react脚手架搭建

    1.npm install -g create-react-app 2.create-react-app react-demo 3.cd react-demo 4.npm start

  10. c++简单程序设计 实验一

    实验内容: 2-28 实现一个简单的菜单程序,运行时显示“Menu:A(dd) D(elete) S(ort) Q(uit),Selete one:”提示用户输入.A表示增加,D表示删除, S表示排序 ...