如何用JS实现竖状的图片跑马灯效果
Admin 2022-06-23 群英技术资讯 867 次浏览
这篇文章主要介绍“如何用JS实现竖状的图片跑马灯效果”的相关知识,下面会通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“如何用JS实现竖状的图片跑马灯效果”文章能帮助大家解决问题。今天给大家分享一个用原生JS实现的图片跑马灯特效,效果如下:

实现的代码如下,欢迎大家复制粘贴。
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>原生JS实现图片跑马灯特效</title>
<style type="text/css">
* {
padding: 0;
margin: 0;
}
li {
list-style: none;
}
img {
border: none;
}
body {
background: #eee;
}
.slide-module {
width: 120px;
height: 400px;
margin: 0 auto;
background: #fff;
border: 1px solid #ccc;
position: relative;
top: 50px;
}
.slide-module .up {
width: 27px;
height: 27px;
/* 向上的箭头 */
background: url(images/0.gif) no-repeat;
position: absolute;
top: 4px;
left: 50%;
margin-left: -16px;
cursor: pointer;
filter: alpha(opacity=60);
opacity: 0.6;
}
.slide-module .down {
width: 27px;
height: 27px;
/* 向下的箭头 */
background: url(images/5.gif) no-repeat;
position: absolute;
bottom: 4px;
left: 50%;
margin-left: -16px;
cursor: pointer;
filter: alpha(opacity=60);
opacity: 0.6;
}
.slide-module .wrap {
width: 120px;
height: 330px;
position: absolute;
top: 35px;
left: 0;
overflow: hidden;
}
.slide-module ul {
width: 120px;
position: absolute;
top: 0;
left: 0;
}
.slide-module li {
width: 120px;
height: 110px;
float: left;
}
.slide-module a {
display: block;
width: 100px;
height: 100px;
border: 1px solid red;
margin: 0 auto;
position: relative;
top: 4px;
}
.slide-module a:hover {
border: 1px solid #333;
}
.slide-module .active {
border: 10px solid #000;
}
</style>
<script type="text/javascript">
window.onload = function () {
miaovSlide('miaovSlide');
};
function miaovSlide(o) {
//获取操作对象容器
var obj = document.getElementById(o);
if (!obj) return;
//获取对象下面所有的div
var aDiv = obj.getElementsByTagName('div');
//获取向上箭头
var oUp = getClass('up');
//获取向下箭头
var oDown = getClass('down');
//获取图片容器
var oWrap = getClass('wrap');
//获取图片列表
var oUl = oWrap.getElementsByTagName('ul')[0];
//获取图片列表项
var oLi = oUl.getElementsByTagName('li');
var oTime = null;
var iMs = 30;
var i = 0;
var iNum = 5;
var toggle = -1;
oUl.innerHTML += oUl.innerHTML;
// 点击向上时,向上走
oUp.onclick = function () {
toggle = -1;
autoPlay(toggle);
};
// 点击向下时,向走走
oDown.onclick = function () {
toggle = 1;
autoPlay(toggle);
};
// 向上与向下箭头鼠标移入时,修改其透明度为1
oUp.onmouseover = oDown.onmouseover = function () {
this.style.filter = 'alpha(opacity:100)';
this.style.opacity = 1;
};
// 向上与向下箭头鼠标移入时,修改其透明度为0.6
oUp.onmouseout = oDown.onmouseout = function () {
this.style.filter = 'alpha(opacity:60)';
this.style.opacity = 0.6;
};
// 图片运动方法,toggle代表向下或是向上的值
function autoPlay(toggle) {
// 清除原有定时器
if (oTime) {
clearInterval(oTime);
}
// 重新开启定时器
oTime = setInterval(function () {
// 第次增量
iNum += 2 * toggle;
// UL向下走,当top值大于0时
if (iNum > 0) {
// 设定top值为负的UL高度的一半(向上拉)
iNum = -oLi.length * oLi[0].offsetHeight / 2;
}
// UL向上走,当top值的绝对值大于UL自身宽度的一半时
if (Math.abs(iNum) > oLi.length * oLi[0].offsetHeight / 2) {
// 设定top的值为0(向下拉)
iNum = 0;
}
// 赋值给top值
oUl.style.top = iNum + 'px';
}, iMs);
};
autoPlay(toggle);
// 获取拥有当前样式的元素
function getClass(sName) {
for (i = 0; i < aDiv.length; i++) {
if (aDiv[i].className == sName) {
return aDiv[i];
}
}
}
}
</script>
</head>
<body>
<div class="slide-module" id="miaovSlide">
<!-- 向上箭头 -->
<div class="up"></div>
<div class="wrap">
<ul>
<li>
<a>
<img src="images/1.jpg" />
</a>
</li>
<li>
<a>
<img src="images/2.jpg" />
</a>
</li>
<li>
<a>
<img src="images/3.jpg" />
</a>
</li>
<li>
<a>
<img src="images/4.jpg" />
</a>
</li>
</ul>
</div>
<!-- 向下箭头 -->
<div class="down"></div>
</div>
</body>
</html>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
本文实例为大家分享了Bootstrap table列上下移动效果的具体代码,供大家参考,具体内容如下排序1. 按钮排序点击排序按钮,页面的序号变为可点击的方向键,实现手动排序(第一行没有下
react在linux上部署的方法:1、打开配置文件;2、通过“tar -zcvf client.tar.gz client”命令将client和server打包;3、将“client.tar.gz”,“server.tar.gz”,“theme.js”及“package.json”文件拷贝至服务器上的项目文件夹下;4、开启服务即可。
作为原型和原型链的基础,先了解清楚构造函数以及它的执行过程才能更好地帮助我们学习原型和原型链的知识。本篇文章带大家详细了解一下JavaScript中的构造函数,介绍一下怎么利用构造函数创建一个js对象,希望对大家有所帮助!
这篇文章主要为大家详细介绍了JavaScript面向对象实现放大镜案例,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
目录从头开始理解 React原生 JavaScript 和 DOMReact 的基础咱老百姓也能学会的 JSX从头开始理解 React作者:Stéphane Bégaudeau翻译原文https://www.sbegaudeau.com/2018/10/01/from-vanilla-javascript-to-rea
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008