html轮播图鼠标可以暂停,原装js轮播图,鼠标移入停止轮播,移出继续轮播
要求: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轮播图,鼠标移入停止轮播,移出继续轮播相关推荐
- html5随鼠标移动动画,使用JS实现气泡跟随鼠标移动的动画效果
气泡跟随鼠标移动,并在每次点击时产生不同的变化 效果如下 简单的气泡效果 body{background-color:#000000;margin:0px;overflow:hidden} var c ...
- d3.js折线图_学习使用D3.js创建折线图
d3.js折线图 by Sohaib Nehal 通过Sohaib Nehal 学习使用D3.js创建折线图 (Learn to create a line chart using D3.js) 使用 ...
- php手机端多图预览上传,JS实现多图预览上传的实例代码
这篇文章主要介绍了JS实现多张图片预览同步上传功能的相关资料,需要的朋友可以参考下 废话不多说了,直接给大家贴代码了,具体代码如下所示: /** * Created by liujing on 201 ...
- D3.js 力导向图的显示优化
D3.js 作为一个前端,说到可视化除了听过 D3.js 的大名,常见的可视化库还有 ECharts.Chart.js,这两个库功能也很强大,但是有一个共同特点是封装层次高,留给开发者可设计和控制的部 ...
- d3 svg path添加文本_D3.js 力导向图的显示优化
D3.js 作为一个前端,说到可视化除了听过 D3.js 的大名,常见的可视化库还有 ECharts.Chart.js,这两个库功能也很强大,但是有一个共同特点是封装层次高,留给开发者可设计和控制的部 ...
- JS来实现轮播图(走马灯)可左右切换图片,鼠标移入会停止轮播
效果一: 会自动进行轮播,当鼠标进入轮播图区域会停止轮播,点击左右箭头可以向前.向后进行切换图片 效果二: 这种效果比第一种效果简单,只要删除一些代码和修改一些样式即可. 实现原理 轮播图整体是放在u ...
- js之焦点图轮播特效
js之焦点图轮播特效 一.原理介绍 焦点图在网站很明显的位置,用图片组合播放的形式,类似焦点新闻的意思,只不过加上了图片.据国外的设计机构调查统计,网站焦点图的点击率明显高于纯文字.在很多购物网主页面 ...
- 自动轮播本地图片触摸暂停轮播
第一步自己创建自动轮播视图: 1 public class AutoShowView extends FrameLayout { 2 private View view; 3 private View ...
- html焦点图自动轮播,JS实现焦点图轮播效果的方法详解
本文实例讲述了JS实现焦点图轮播效果的方法.分享给大家供大家参考,具体如下: 效果图如下: 一.所用到的知识点 1.DOM操作 2.定时器 3.事件运用 4.Js动画 5.函数递归 6.无限滚动大法 ...
最新文章
- bootloader详解(转载)
- python defaultdict 简单了解
- ubantu Wine QQ
- hdu 1134 卡特兰数(大数模板)
- MessageBox模态对话框[转]
- sql加载配置文件时出错:_SQL复制:基本设置和配置
- 推进 DevSecOps 走向未来
- webStrom 开始你的第一个React应用
- java ascii 排序_java 根据 ASCII 码表顺序升序排列
- 程序员为什么要写博客?怎么写博客?
- 怎样把doc转换成jpg
- WPS Excel将多个Excel文件合并到一个Excel文件中(sheet)
- python调用百度地图、通过经纬度定位_python调用百度地图API得到两地经纬度计算直线距离...
- 一次百度网盘的悲惨经历
- 无损放大图片软件有什么?安利几款放大图片的软件
- 如何将linux下home目录下的中文名改成英文名
- 为什么说“水果焦虑”是个伪命题?
- 热搜第一!刘强东回国了!
- Hackbar初步了解和火狐中安装
- cocos2dx 物理引擎chipmunk
热门文章
- 如何修改blog昵称
- 记一次数据库锁表处理心路历程
- php添加一维数组,PHP将多维数组数组键附加到一维数组
- 厦门大学厉行:从金融专业到永安期货研究中心!
- 计算机想转行金融 但是完全没经验,master是不是基本拿不到奖学金?研究经历只是指paper吗?美国理工科申请问题汇总...
- PHP实现快递鸟即时查询接口
- 向量叉积(Cross product)的几何意义及应用
- 看门狗watch_dog.sh的部署
- ie下动态加态js文件
- 【c++】简单了解并行计算库PPL