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.load载入页面后样式没了页面混乱的解决方法
Oct 20 Javascript
javascript中Object使用详解
Jan 26 Javascript
JavaScript中原型和原型链详解
Feb 11 Javascript
简单谈谈javascript中的变量、作用域和内存问题
Aug 30 Javascript
整理Javascript事件响应学习笔记
Dec 02 Javascript
基于JavaScript代码实现随机漂浮图片广告
Jan 05 Javascript
Javascript数组中push方法用法分析
Oct 31 Javascript
JS设计模式之访问者模式定义与用法分析
Feb 05 Javascript
React Native悬浮按钮组件的示例代码
Apr 05 Javascript
React中使用UEditor百度富文本的方法
Aug 22 Javascript
基于vue-cli3+typescript的tsx开发模板搭建过程分享
Feb 28 Javascript
js+css实现扇形导航效果
Aug 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 IP及IP段进行访问限制的代码
2008/12/17 PHP
php设计模式之观察者模式的应用详解
2013/05/21 PHP
php共享内存段示例分享
2014/01/20 PHP
Laravel 5 框架入门(二)构建 Pages 的管理功能
2015/04/09 PHP
简单了解WordPress开发中update_option()函数的用法
2016/01/11 PHP
PHP多进程编程总结(推荐)
2016/07/18 PHP
javascript各种复制代码收集
2008/09/20 Javascript
jquery动态添加option示例
2013/12/30 Javascript
jquery 实现input输入什么div图层显示什么
2014/06/15 Javascript
IE6-IE9中tbody的innerHTML不能赋值的解决方法
2014/09/26 Javascript
js判断登录与否并确定跳转页面的方法
2015/01/30 Javascript
JavaScript实现带播放列表的音乐播放器实例分享
2016/03/07 Javascript
Jquery组件easyUi实现手风琴(折叠面板)示例
2016/08/23 Javascript
jquery延迟对象解析
2016/10/26 Javascript
Angular实现跨域(搜索框的下拉列表)
2017/02/16 Javascript
关于vue.js v-bind 的一些理解和思考
2017/06/06 Javascript
Bootstrap按钮组实例详解
2017/07/03 Javascript
JS实现的合并多个数组去重算法示例
2018/04/11 Javascript
jQuery md5加密插件jQuery.md5.js用法示例
2018/08/24 jQuery
Python正则表达式教程之二:捕获篇
2017/03/02 Python
Python嵌套式数据结构实例浅析
2019/03/05 Python
Django中的静态文件管理过程解析
2019/08/01 Python
Python django框架开发发布会签到系统(web开发)
2020/02/12 Python
Matplotlib 折线图plot()所有用法详解
2020/07/28 Python
如何在scrapy中捕获并处理各种异常
2020/09/28 Python
Python爬取酷狗MP3音频的步骤
2021/02/26 Python
button在IE6/7下的黑边去除方案
2012/12/24 HTML / CSS
清洁工表扬信
2014/01/08 职场文书
社区十八大感言
2014/01/19 职场文书
后勤服务中心总经理工作职责
2014/03/03 职场文书
竞聘书格式及范文
2014/03/31 职场文书
行政执法作风整顿剖析材料
2014/10/11 职场文书
党员争先创优承诺书
2015/01/20 职场文书
学校艾滋病宣传活动总结
2015/05/09 职场文书
Html5同时支持多端sdk的小技巧
2021/11/17 HTML / CSS
MySQL中B树索引和B+树索引的区别详解
2022/03/03 MySQL