JavaScript代码实现图片循环滚动效果


Posted in Javascript onMarch 19, 2020

1.概述

循环滚动图片,不仅可以增添Web页面的动态效果,而且可以节省页面空间,有效地保证在有限的页面中显示更多的图片。

2.技术要点

主要应用setTimeout()方法实现图片的循环滚动效果。setTimeout()方法的语法格式如下:

setTimeout(function,milliseconds,[arguments])

参数说明:

a. function:要调用的JavaScript自定义函数名称。

b. Milliseconds:设置超时时间(以毫秒为单位)。

功能:经过超时时间后,调用函数。此值可以用clearTimeout()函数清除。

3.具体实现

(1)在页面的合适位置添加一个id属性为demo的<div>标记,并在该标记中添加表格及要要滚动显示的图片。关键代码如下:

<div id="demo" style=" overflow: hidden; width: 455px; height: 166px;">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top" id="marquePic1">
<!-- 要循环滚动的图片 -->
<table width="455" border="0" align="center" cellpadding="0" cellspacing="0" >
<tr align="center">
<%for(int i=1;i<8;i++){%>
<td> <img src="Images/<%=i%>.jpg" width="118" height="166" border="1"> </td>
<%}%>
</tr>
</table>
</td>
<td id="marquePic2" width="1"></td>
</tr>
</table>
</div>

(2)编写自定义的JavaScript函数move(),用于实现无间断的图片循环滚动效果。speed数值越大图片滚动的越快,具体代码如下:

<script language="javascript">
var speed=30 ; //设置间隔时间
marquePic2.innerHTML=marquePic1.innerHTML;
var demo=document.getElementById("demo"); //获取demo对象
function Marquee(n){ //实现图片循环滚动的方法
if(marquePic1.offsetWidth-demo.scrollLeft<=0){ 
demo.scrollLeft=0; 
}
else{ 
demo.scrollLeft=demo.scrollLeft+n;
} 
} 
var MyMar=setInterval("Marquee(5)",speed);
demo.onmouseover=function() { //停止滚动
clearInterval(MyMar);
} 
demo.onmouseout=function() { //继续滚动
MyMar=setInterval("Marquee(5)",speed);
}
</script>

知识点补充:javascript实现页面的自动循环滚动

首先html代码

<div id="content">
<ol id="EG-CN-1">EG-CN-1
<li type="none">aatox</li>
<li type="none">akari</li></ol>
<ol id="EG-CN-10">EG-CN-10<li type="none">rakan</li></ol>
<ol id="EG-CN-7">EG-CN-7<li type="none">riven</li>
<li type="none">darius</li></ol>
<ol id="EG-CN-8">EG-CN-8<li type="none">fiora</li>
<li type="none">jayce</li>
<li type="none">noc</li></ol>
<ol id="EG-CN-2">EG-CN-2<li type="none">leesin</li></ol></div>

这是一个通过js自动添加list的div容器,随着名单的长度增加会自动增加scrollheight,而整个div是固定的宽高,通过css的overflow:scroll属性自动将多出的内容隐藏在scrollview里面
css代码如下,这里同时使用::-webkit-scrollbar 将滚动条隐藏以保证美观性

#content{
 width:430px;height:490px;
 position:absolute; top:180px;left:40%;
 font-size:20px;overflow:scroll;

}
#content::-webkit-scrollbar{display:none}
ol{font-size:35px}
li{font-size:25px}

接下来就是实现自动循环滚动的js代码

原理就是先读取div元素的高度以及div内部内容的高度即clientHeightscrollHeight属性来确定滚动条到顶部的最大距离h=clientHeight-scrollHeight,然后通过setInterval来实现滚动条到顶部的距离scrollTop属性的从0开始递增直到达到最大距离h,然后再将scrollTop归零,重新开始滚动

$(document).ready(function(){
content=document.getElementById('content')
clientheight=content.clientHeight
offsetheight=content.scrollHeight
h=offsetheight-clientheight
var position=0
function startscroll(){
if(content.scrollTop<h){position++;content.scrollTop=position}
if(content.scrollTop>=h){content.scrollTop=0;position=0}
}
setInterval(startscroll,100)

console.log(clientheight)
console.log(offsetheight)

})

总结

以上所述是小编给大家介绍的JavaScript代码实现图片循环滚动效果的相关知识,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
javascript实现划词标记+划词搜索功能
Mar 06 Javascript
js对图片base64编码字符串进行解码并输出图像示例
Mar 17 Javascript
jQuery实用技巧必备(上)
Nov 02 Javascript
深入理解bootstrap框架之入门准备
Oct 09 Javascript
javascript动画之磁性吸附效果篇
Dec 09 Javascript
canvas实现图像放大镜
Feb 06 Javascript
bootstarp modal框居中显示的实现代码
Feb 18 Javascript
jQuery实现贪吃蛇小游戏(附源码下载)
Mar 04 Javascript
移动端web滚动分页的实现方法
May 05 Javascript
Vue+Mock.js模拟登录和表格的增删改查功能
Jul 26 Javascript
webpack4 + react 搭建多页面应用示例
Aug 03 Javascript
VUE实现密码验证与提示功能
Oct 18 Javascript
jquery插件格式实例分析
Jun 16 #Javascript
详解JavaScript对象类型
Jun 16 #Javascript
jQuery on()方法绑定动态元素的点击事件实例代码浅析
Jun 16 #Javascript
jQuery页面元素动态添加后绑定事件丢失方法,非 live
Jun 16 #Javascript
JSON字符串和对象相互转换实例分析
Jun 16 #Javascript
jQuery的层级查找方式分析
Jun 16 #Javascript
jQuery实现响应鼠标事件的图片透明效果【附demo源码下载】
Jun 16 #Javascript
You might like
过滤掉PHP数组中的重复值的实现代码
2011/07/17 PHP
PHP的SQL注入过程分析
2012/01/06 PHP
使用Smarty 获取当前日期时间和格式化日期时间的方法详解
2013/06/18 PHP
php中PDO方式实现数据库的增删改查
2015/05/17 PHP
php快速导入大量数据的实例方法
2019/09/23 PHP
PHP 出现 http500 错误的解决方法
2021/03/09 PHP
jQuery Ajax文件上传(php)
2009/06/16 Javascript
javascript写的一个链表实现代码
2009/10/25 Javascript
jquery查找父元素、子元素(个人经验总结)
2014/04/09 Javascript
jQuery中大家不太了解的几个方法
2015/03/04 Javascript
详解Node.js中的Async和Await函数
2018/02/22 Javascript
Vue头像处理方案小结
2018/07/26 Javascript
layui导出所有数据的例子
2019/09/10 Javascript
js布局实现单选按钮控件
2020/01/17 Javascript
利用python获取Ping结果示例代码
2017/07/06 Python
python多进程中的内存复制(实例讲解)
2018/01/05 Python
Python实现Event回调机制的方法
2019/02/13 Python
css3实现书本翻页效果的示例代码
2021/03/08 HTML / CSS
利用HTML5 Canvas API绘制矩形的超级攻略
2016/03/21 HTML / CSS
简洁自适应404页面HTML好看的404源码
2020/12/16 HTML / CSS
英国假发网站:Hothair
2018/02/23 全球购物
世界上第一个创建了罩杯系统的美国内衣品牌:Maidenform
2019/03/23 全球购物
Crocs波兰官方商店:女鞋、男鞋、童鞋、洞洞鞋
2019/10/08 全球购物
PHP如何调用MYSQL存储过程
2014/05/30 面试题
什么是符号链接,什么是硬链接?符号链接与硬链接的区别是什么?
2013/05/03 面试题
教育实习生的自我评价分享
2013/11/21 职场文书
安全生产检查通报
2014/01/29 职场文书
园艺师求职信
2014/04/27 职场文书
绿色校园广播稿
2014/10/13 职场文书
小学优秀教师先进事迹材料
2014/12/16 职场文书
开国大典观后感
2015/06/04 职场文书
新生儿未入户证明
2015/06/23 职场文书
2015年度对口支援工作总结
2015/07/22 职场文书
安全教育培训制度
2015/08/06 职场文书
JavaScript实现复选框全选功能
2021/04/11 Javascript
MySQL如何快速创建800w条测试数据表
2022/03/17 MySQL