js轮播图

html部分:建立div,内嵌img标签,可以设置大小,

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<script type="text/javascript" src="untitled1.js"></script>
</head> <body>
<div id="quyu" style="width: 1000px;height: 500px;background: #3BE3C6;margin: 0 auto" >
<img id="im" onMouseOver="stop()" onMouseOut="start()" src="../../1.jpg" alt="" height="500px" width="1000px">
</div>
<center> <button onClick="before()">上一页</button>
<button class="butt" onClick="xx(0)" style="color: red;">1</button>
<button class="butt" onClick="xx(1)">2</button>
<button class="butt" onClick="xx(2)">3</button>
<button class="butt" onClick="xx(3)">4</button>
<button onClick="next()">下一页</button> </center> </body>
</html>

js部分

设置全局变量,表示图片地址数组的下标

轮播功能,设置定时器,定时替换图片地址

鼠标移入,定时器停止

鼠标移出,再次设置定时器

上一页,全局变量减1

下一页,全局变量加1

// JavaScript Document
var n = 0; //图片下标
var imDom = null; //图片
var imPath = ["../../1.jpg", "../../2.jpg", "../../3.jpg", "../../4.jpg"];//图片位置
var intervalobj = null;//定时器
var btnDom = null;//数字按钮
window.onload = function () {
imDom = document.getElementById("im");
btnDom = document.getElementsByClassName("butt");
intervalobj = setInterval(function () {
lunbo();
}, 3000);
}
/*功能:图片轮播*/
function lunbo() {
n++;
if (n >= imPath.length) {
n = 0;
}
imDom.src = imPath[n];
for (var i = 0; i < btnDom.length; i++) {
btnDom[i].style.color = "black";
}
btnDom[n].style.color = "red";
} /*鼠标移入,轮播停止*/
function stop() {
clearInterval(intervalobj);
}
/*鼠标移入 轮播继续*/
function start() {
intervalobj = setInterval(function () {
lunbo(n);
n++;
if (n >= imPath.length) {
n = 0;
}
}, 3000);
}
/*图片进入上一页*/
function before() {
n--;
if (n <=-1) {
n = imPath.length-1;
}
imDom.src = imPath[n];
for (var i = 0; i < btnDom.length; i++) {
btnDom[i].style.color = "black";
}
btnDom[n].style.color = "red";
}
/*图片进入下一页*/
function next() {
n++;
if (n >= imPath.length) {
n = 0;
}
imDom.src = imPath[n];
for (var i = 0; i < btnDom.length; i++) {
btnDom[i].style.color = "black";
}
btnDom[n].style.color = "red";
}
/*点击数字按钮,跳转到相应图片*/
function xx(a) {
imDom.src = imPath[a];
}

js原声代码 轮播图的更多相关文章

  1. 原生JS面向对象思想封装轮播图组件

    原生JS面向对象思想封装轮播图组件 在前端页面开发过程中,页面中的轮播图特效很常见,因此我就想封装一个自己的原生JS的轮播图组件.有了这个需求就开始着手准备了,代码当然是以简洁为目标,轮播图的各个功能 ...

  2. js 自适应手机电脑 轮播图

    自己写了一个javascript的可循环轮播图,支持手机滑动,不过代码着实小白,全局变量,函数调用满天飞,研究别的代码规范好的轮播图插件,表示看得懂但是写不出.. HTML: <div id=& ...

  3. 原生js写一个无缝轮播图插件(支持vue)

    轮播图插件(Broadcast.js) 前言:写这个插件的原因 前段时间准备用vue加上网易云的nodejs接口,模拟网易云音乐移动端.因为想自己写一遍所有的代码以及加固自己的flex布局,所以没有使 ...

  4. js写的简单轮播图

    这个轮播图代码是从网上找来的,专门找了个写法简单的,只是作为一个小练习,大概原理如下: 1.首先是图片切换2.自动播放3.调用自动播放4.移动到容器上边停止播放,离开自动播放5.移动到导航上停止播放, ...

  5. 用html +js+css 实现页面轮播图效果

    html 页面 <html lang="en"> <head> <meta charset="UTF-8"> <met ...

  6. js访3d上下轮播图

    js/css访3d上下轮播图 (附件) <!DOCTYPE html> <html> <head> <meta charset="utf-8&quo ...

  7. 用js和jQuery做轮播图

    Javascript或jQuery做轮播图 css样式 <style> a{ text-decoration:none; } .naver{ width: 100%; position:r ...

  8. 原生JS实现移动端轮播图

    功能描述: 自动无缝轮播图片,底部小圆点跟图片保持一致:手指左右移动轮播图,移动距离大于50px播放下一张(或上一张),小于50px则回弹 具体功能实现: 1.定时器 自动轮播图片 先声明一个inde ...

  9. JS框架_(Bootstrap.js)实现简单的轮播图

    Bootstrap框架中 轮播(Carousel)插件是一种灵活的响应式的向站点添加滑块的方式 轮播图效果: <!DOCTYPE html> <html> <head&g ...

随机推荐

  1. Zookeeper-Access Control List(ACL)

    概述 Z K作为一个分布式协调框架.内部存储着一些分布式系统运行时状态的元数据.如何有效的保护这些数据的安全.如何做一个比较好的权限控制显得非常的重要. ZK 为我们提供一套完善的 ACL(acces ...

  2. 浅谈bfs

    广搜(bfs) 定义 广度优先算法,简称BFS.是一种图形搜索演算法,简单的说,BFS是从根节点开始,沿着树的宽度遍历树的节点,如果发现目标,终止. 与dfs的相似之处与不同 结合深搜理解 相同点:都 ...

  3. C#数据结构与算法系列(二十一):希尔排序算法(ShellSort)

    1.介绍 希尔排序是希尔(Donald Shell)于1959年提出的一种排序算法.希尔排序也是一种插入排序,它是简单插入排序经过改进之后的一个更高效的版本,也称为缩小增量排序. 2.基本思想 希尔排 ...

  4. html中绝对路径和相对路径的区别?比较相对路径和绝对路径的优缺点

    绝对路径和相对路径的区别? 1. 绝对路径:就是你的文件或目录在硬盘上的真正的路径例如“bg.jpg”这个图片是存放在硬盘的“E:\img”目录下,那么 “bg.jpg”这个图片的绝对路径就是“E:\ ...

  5. Buffer的创建及使用源码分析——ByteBuffer为例

    目录 Buffer概述 Buffer的创建 Buffer的使用 总结 参考资料 Buffer概述 注:全文以ByteBuffer类为例说明 在Java中提供了7种类型的Buffer,每一种类型的Buf ...

  6. CVE-2020-5902 简单复现

    这几天通报了f5的一个漏洞,想着先弄个环境保存着,说不定后面就用到了.. 1.漏洞描述 ​ 近日,F5官方发布公告,修复了流量管理用户界面(TMUI)中存在的一个远程代码执行漏洞(CVE-2020-5 ...

  7. Python之爬虫(二十) Scrapy爬取所有知乎用户信息(上)

    爬取的思路 首先我们应该找到一个账号,这个账号被关注的人和关注的人都相对比较多的,就是下图中金字塔顶端的人,然后通过爬取这个账号的信息后,再爬取他关注的人和被关注的人的账号信息,然后爬取被关注人的账号 ...

  8. 精通java并发-synchronized关键字和锁

    目前CSDN,博客园,简书同步发表中,更多精彩欢迎访问我的gitee pages synchronized关键字和锁 示例代码 public class MyThreadTest2 { public ...

  9. vue 仿掘金评论列表

    先来个最终效果 代码: template代码: <template> <div class="main"> <div class="titl ...

  10. git只操作某个文件夹

    在我们的工作中,可能会有这样的情况发生:我只想提交某一个文件夹,而另外的文件夹我并不想提交. 遇到上述情况,我们再git中这样解决: 1.查看某个文件夹的状态(这里我用log文件夹做实验). 我们可以 ...