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 相关文章推荐
js数组操作学习总结
Nov 04 Javascript
javascript读取Xml文件做一个二级联动菜单示例
Mar 17 Javascript
jquery 中ajax执行的优先级
Jun 22 Javascript
Bootstrap幻灯片轮播图支持触屏左右手势滑动的实现方法
Oct 13 Javascript
javascript和jQuery中的AJAX技术详解【包含AJAX各种跨域技术】
Dec 15 Javascript
angular双向绑定模拟探索
Dec 26 Javascript
详解JS中遍历语法的比较
Apr 07 Javascript
jQuery实现拼图小游戏(实例讲解)
Jul 24 jQuery
vue-cli启动本地服务局域网不能访问的原因分析
Jan 22 Javascript
JS获取今天是本月第几周、本月共几周、本月有多少天、是今年的第几周、是今年的第几天的示例代码
Dec 05 Javascript
JavaScript实现飞舞的泡泡效果
Feb 07 Javascript
文章或博客自动生成章节目录索引(支持三级)的实现代码
May 10 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提示Call-time pass-by-reference has been deprecated in的解决方法[已测]
2012/05/06 PHP
使用PHP会话(Session)实现用户登陆功能
2013/06/29 PHP
php禁止某ip或ip地址段访问的方法
2015/02/25 PHP
php结合web uploader插件实现分片上传文件
2016/05/10 PHP
PHP实现的简单在线计算器功能示例
2017/08/02 PHP
PHP获取文件扩展名的常用方法小结【五种方式】
2018/04/27 PHP
thinkphp5.1 文件引入路径问题及注意事项
2018/06/13 PHP
php使用fputcsv实现大数据的导出操作详解
2020/02/27 PHP
JS俄罗斯方块,包含完整的设计理念
2010/12/11 Javascript
js中直接声明一个对象的方法
2014/08/10 Javascript
js运动动画的八个知识点
2015/03/12 Javascript
js中setTimeout()与clearTimeout()用法实例浅析
2015/05/12 Javascript
如何让一个json文件显示在表格里【实现代码】
2016/05/09 Javascript
jquery实现(textarea)placeholder自动换行
2016/12/22 Javascript
微信小程序 监听手势滑动切换页面实例详解
2017/06/15 Javascript
使用JavaScript实现alert的实例代码
2017/07/06 Javascript
原生JavaScript实现remove()和recover()功能示例
2018/07/24 Javascript
layui从数据库中获取复选框的值并默认选中方法
2018/08/15 Javascript
微信小程序视图容器(swiper)组件创建轮播图
2020/06/19 Javascript
npm配置国内镜像资源+淘宝镜像的方法
2018/09/07 Javascript
处理Python中的URLError异常的方法
2015/04/30 Python
Python实现抓取网页生成Excel文件的方法示例
2017/08/05 Python
matplotlib在python上绘制3D散点图实例详解
2017/12/09 Python
对Tensorflow中的矩阵运算函数详解
2018/07/27 Python
python自带tkinter库实现棋盘覆盖图形界面
2019/07/17 Python
python使用opencv实现马赛克效果示例
2019/09/28 Python
利用Python优雅的登录校园网
2020/10/21 Python
详解如何使用Pytest进行自动化测试
2021/01/14 Python
python实现学生通讯录管理系统
2021/02/25 Python
澳大利亚在线百货商店:Real Smart
2017/08/13 全球购物
贝嫂喜欢的婴儿品牌,个性化的婴儿礼物:My 1st Years
2017/11/19 全球购物
加拿大高尔夫超市:Golf Town
2018/01/12 全球购物
房地产端午节活动方案
2014/08/24 职场文书
饭店服务员岗位职责
2015/02/09 职场文书
2016入党积极分子党课学习心得体会
2015/10/09 职场文书
分析并发编程之LongAdder原理
2021/06/29 Java/Android