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 相关文章推荐
jQuery live
May 15 Javascript
jquery实现的元素的left增加N像素 鼠标移开会慢慢的移动到原来的位置
Mar 21 Javascript
js函数调用常用方法详解
Dec 03 Javascript
禁止选中文字兼容IE、Chrome、FF等
Sep 04 Javascript
JavaScript阻止浏览器返回按钮的方法
Mar 18 Javascript
简介JavaScript中的getUTCFullYear()方法的使用
Jun 10 Javascript
如何使用jQuery技术开发ios风格的页面导航菜单
Jul 29 Javascript
js和jQuery设置Opacity半透明 兼容IE6
May 24 Javascript
详解VueJs异步动态加载块
Mar 09 Javascript
使用jQuery卸载全部事件的思路详解
Apr 03 jQuery
JS+jQuery实现注册信息的验证功能
Sep 26 jQuery
基于js中style.width与offsetWidth的区别(详解)
Nov 12 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合并两个数组的两种方式的异同
2012/09/14 PHP
深入phpMyAdmin的安装与配置的详细步骤
2013/05/07 PHP
8个PHP程序员常用的功能汇总
2014/12/18 PHP
PHP异常处理Exception类
2015/12/11 PHP
php支付宝系列之电脑网站支付
2018/05/30 PHP
Laravel框架FormRequest中重写错误处理的方法
2019/02/18 PHP
javascript 带有滚动条的表格,标题固定,带排序功能.
2009/11/13 Javascript
基于jQuery的让非HTML5浏览器支持placeholder属性的代码
2011/05/24 Javascript
js实现广告漂浮效果的小例子
2013/07/02 Javascript
仿百度的关键词匹配搜索示例
2013/09/25 Javascript
javascript框架设计之类工厂
2015/06/23 Javascript
由浅入深剖析Angular表单验证
2016/07/14 Javascript
koa上传excel文件并解析的实现方法
2018/08/09 Javascript
Node.js 使用request模块下载文件的实例
2018/09/05 Javascript
JS使用队列对数组排列,基数排序算法示例
2019/03/02 Javascript
微信小程序使用npm包的方法步骤
2019/08/13 Javascript
小程序点击图片实现png转jpg
2019/10/22 Javascript
d3.js实现图形缩放平移
2019/12/19 Javascript
vue中根据时间戳判断对应的时间(今天 昨天 前天)
2019/12/20 Javascript
easyUI使用分页过滤器对数据进行分页操作实例分析
2020/06/01 Javascript
微信小程序之滑动页面隐藏和显示组件功能的实现代码
2020/06/19 Javascript
vue使用video插件vue-video-player的示例
2020/10/03 Javascript
python3 property装饰器实现原理与用法示例
2019/05/15 Python
对django views中 request, response的常用操作详解
2019/07/17 Python
python 根据网易云歌曲的ID 直接下载歌曲的实例
2019/08/24 Python
浅谈OpenCV中的新函数connectedComponentsWithStats用法
2020/07/05 Python
python实现取余操作的简单实例
2020/08/16 Python
python和node.js生成当前时间戳的示例
2020/09/29 Python
Styleonme中文网:韩国高档人气品牌
2017/06/21 全球购物
腾讯公司的一个sql题
2013/01/22 面试题
销售业务员岗位职责
2014/01/29 职场文书
关于期中考试的反思
2014/02/02 职场文书
标准大学生职业生涯规划书写作指南
2014/09/18 职场文书
党员民主生活会材料
2014/12/15 职场文书
2015年银行工作总结范文
2015/04/01 职场文书
公文写作:教你写“建议书”
2019/05/07 职场文书