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. 《UNIX环境高级编程》(APUE) 笔记第三章 - 文件I/O

    3 - 文件I/O Github 地址 1. 文件描述符 对于内核而言,所有打开的文件都通过 文件描述符 (file descriptor) 引用.当打开一个现有文件或创建一个新文件时,内核向进程返回 ...

  2. 【数据库内核】RocksDB:事务锁设计与实现

    本文主要介绍 RocksDB 锁结构设计.加锁解锁过程,并与 InnoDB 锁实现做一个简单对比. 本文由作者授权发布,未经许可,请勿转载. 作者:王刚,网易杭研数据库内核开发工程师 MyRocks ...

  3. 利用binarySearch实现抽奖计算逻辑

    前言 我们平时抽奖总感觉想抽到最高的奖那么难,哈哈当然不会那么容易啦,正巧写了个抽奖的功能,趁着有时间把抽奖的功能实现整理一下,我们要抽奖首先要定义一个奖品的实体类,这个实体类中包含奖品的基本信息,比 ...

  4. 核心知识点:python入门

    目录 一.python入门day1-day24 day01-03 编程语言 day04 变量 day05 垃圾回收机制(GC机制) 1 引用计数 2 标记清除 3 分代回收 day05 程序交互与基本 ...

  5. java规范总结

    1.所有的相同类型的包装类对象之间值的比较,全部使用 equals 方法比较. 说明:对于 Integer var = ? 在-128 至 127 范围内的赋值,Integer 对象是在 Intege ...

  6. scala 数据结构(一):数据结构简介

    1 数据结构特点 scala集合基本介绍 1)Scala同时支持不可变集合和可变集合,不可变集合可以安全的并发访问 2)两个主要的包: 不可变集合:scala.collection.immutable ...

  7. selenium:selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs to be in PATH.

    可用链接: 1.http://blog.csdn.net/heatdeath/article/details/71136174 2.https://www.cnblogs.com/yousuosiys ...

  8. scrapy 基础组件专题(五):自定义扩展

    通过scrapy提供的扩展功能, 我们可以编写一些自定义的功能, 插入到scrapy的机制中 一.编写一个简单的扩展 我们现在编写一个扩展, 统计一共获取到的item的条数我们可以新建一个extens ...

  9. AcWing 93. 递归实现组合型枚举

    AcWing 93. 递归实现组合型枚举 原题链接 从 1~n 这 n 个整数中随机选出 m 个,输出所有可能的选择方案. 输入格式 两个整数 n,m ,在同一行用空格隔开. 输出格式 按照从小到大的 ...

  10. Linux 通过源代码安装和编译程序

    Linux源代码安装在平常工作学习中经常用到,总结下步骤↓↓↓ 第一步:#mount /dev/cdrom/mnt (挂载一个软盘) 第二步:手动安装httpd-2.4.25.tar.gz 依赖关系包 ...