要求:1、点击按钮,切换图片;

2、图片能够自动轮播;

3、鼠标移入,轮播停止;移出继续轮播;

知识点:1、定时器:setInterval();

2、鼠标移入事件:onmouseenter/onmouseover;

鼠标移出事件:onmouseleave/onmouseout;

难点:假设轮播图轮播到第二张图片,此时点击第一张图片,我们想要的效果是鼠标移出后,图片轮播到第二张图片,到事实是轮播到第三张图片。

**********************************************************************************************************

代码:

html>

主页

* {

padding: 0;

margin: 0;

}

li {

list-style: none;

}

img {

vertical-align: top;

}

.wrapBox {

width: 1226px;

height: 460px;

margin: 50px auto;

position: relative;

}

.wrapBox img {

width: 100%;

}

.showBox li {

display: none;

}

.showBox .show {

display: block;

}

.dotBox {

overflow: hidden;

position: absolute;

right: 50px;

bottom: 20px;

}

.dotBox li {

width: 20px;

height: 20px;

background-color: #fff;

border-radius: 50%;

float: left;

margin: 0 10px;

}

.dotBox .active {

background-color: #3399CC;

}

var dotLi = document.querySelectorAll(".dotBox li");

var showLi = document.querySelectorAll(".showBox li");

var wrapBox = document.querySelector(".wrapBox");

console.log(dotLi, showLi, wrapBox);

// 1、点击按钮切换对应图片

for (let i = 0; i

var li = dotLi[i];

li.onclick = function () {

//解决难点问题(当点击时,把i即被点击的按钮下标,赋值给index即可)

index = i;

// 循环遍历所有的li按钮,并清空颜色类名

for (let j = 0; j

dotLi[j].className = "";

showLi[j].className = "";

}

// 给点击的按钮,添加颜色类名

dotLi[i].className = "active";

showLi[i].className = "show";

}

}

// 2、自动轮播,定时器

// 图片下标位置,默认为0

var index = 0;

var timer = null;

// 页面加载时,调用一次

playTime();

function playTime() {

// var timer = setInterval(function () {

// timer要改为全局变量

timer = setInterval(function () {

// 每过两秒,下标加一,跳到下一张

index++;

// 当图片走完最后一张,也就是下标为4的时候,跳到第一张

if (index == 4) {

index = 0;

}

for (let j = 0; j

dotLi[j].className = "";

showLi[j].className = "";

}

// 给点击的按钮,添加颜色类名

dotLi[index].className = "active";

showLi[index].className = "show";

}, 2000)

}

// 3、当鼠标移入wrapBox时,停止轮播,清除定时器

wrapBox.onmouseenter = function () {

clearInterval(timer);

}

// 4、当鼠标移出wrapBox时,继续轮播,重新调用定时器

wrapBox.onmouseleave = function () {

playTime();

}

效果图:

原文:https://www.cnblogs.com/zhang-qi/p/12182797.html

html轮播图鼠标可以暂停,原装js轮播图,鼠标移入停止轮播,移出继续轮播相关推荐

  1. html5随鼠标移动动画,使用JS实现气泡跟随鼠标移动的动画效果

    气泡跟随鼠标移动,并在每次点击时产生不同的变化 效果如下 简单的气泡效果 body{background-color:#000000;margin:0px;overflow:hidden} var c ...

  2. d3.js折线图_学习使用D3.js创建折线图

    d3.js折线图 by Sohaib Nehal 通过Sohaib Nehal 学习使用D3.js创建折线图 (Learn to create a line chart using D3.js) 使用 ...

  3. php手机端多图预览上传,JS实现多图预览上传的实例代码

    这篇文章主要介绍了JS实现多张图片预览同步上传功能的相关资料,需要的朋友可以参考下 废话不多说了,直接给大家贴代码了,具体代码如下所示: /** * Created by liujing on 201 ...

  4. D3.js 力导向图的显示优化

    D3.js 作为一个前端,说到可视化除了听过 D3.js 的大名,常见的可视化库还有 ECharts.Chart.js,这两个库功能也很强大,但是有一个共同特点是封装层次高,留给开发者可设计和控制的部 ...

  5. d3 svg path添加文本_D3.js 力导向图的显示优化

    D3.js 作为一个前端,说到可视化除了听过 D3.js 的大名,常见的可视化库还有 ECharts.Chart.js,这两个库功能也很强大,但是有一个共同特点是封装层次高,留给开发者可设计和控制的部 ...

  6. JS来实现轮播图(走马灯)可左右切换图片,鼠标移入会停止轮播

    效果一: 会自动进行轮播,当鼠标进入轮播图区域会停止轮播,点击左右箭头可以向前.向后进行切换图片 效果二: 这种效果比第一种效果简单,只要删除一些代码和修改一些样式即可. 实现原理 轮播图整体是放在u ...

  7. js之焦点图轮播特效

    js之焦点图轮播特效 一.原理介绍 焦点图在网站很明显的位置,用图片组合播放的形式,类似焦点新闻的意思,只不过加上了图片.据国外的设计机构调查统计,网站焦点图的点击率明显高于纯文字.在很多购物网主页面 ...

  8. 自动轮播本地图片触摸暂停轮播

    第一步自己创建自动轮播视图: 1 public class AutoShowView extends FrameLayout { 2 private View view; 3 private View ...

  9. html焦点图自动轮播,JS实现焦点图轮播效果的方法详解

    本文实例讲述了JS实现焦点图轮播效果的方法.分享给大家供大家参考,具体如下: 效果图如下: 一.所用到的知识点 1.DOM操作 2.定时器 3.事件运用 4.Js动画 5.函数递归 6.无限滚动大法 ...

最新文章

  1. bootloader详解(转载)
  2. python defaultdict 简单了解
  3. ubantu Wine QQ
  4. hdu 1134 卡特兰数(大数模板)
  5. MessageBox模态对话框[转]
  6. sql加载配置文件时出错:_SQL复制:基本设置和配置
  7. 推进 DevSecOps 走向未来
  8. webStrom 开始你的第一个React应用
  9. java ascii 排序_java 根据 ASCII 码表顺序升序排列
  10. 程序员为什么要写博客?怎么写博客?
  11. 怎样把doc转换成jpg
  12. WPS Excel将多个Excel文件合并到一个Excel文件中(sheet)
  13. python调用百度地图、通过经纬度定位_python调用百度地图API得到两地经纬度计算直线距离...
  14. 一次百度网盘的悲惨经历
  15. 无损放大图片软件有什么?安利几款放大图片的软件
  16. 如何将linux下home目录下的中文名改成英文名
  17. 为什么说“水果焦虑”是个伪命题?
  18. 热搜第一!刘强东回国了!
  19. Hackbar初步了解和火狐中安装
  20. cocos2dx 物理引擎chipmunk

热门文章

  1. 如何修改blog昵称
  2. 记一次数据库锁表处理心路历程
  3. php添加一维数组,PHP将多维数组数组键附加到一维数组
  4. 厦门大学厉行:从金融专业到永安期货研究中心!
  5. 计算机想转行金融 但是完全没经验,master是不是基本拿不到奖学金?研究经历只是指paper吗?美国理工科申请问题汇总...
  6. PHP实现快递鸟即时查询接口
  7. 向量叉积(Cross product)的几何意义及应用
  8. 看门狗watch_dog.sh的部署
  9. ie下动态加态js文件
  10. 【c++】简单了解并行计算库PPL