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

 更新时间:2020年03月19日 10:56:05   作者:柯南&  
这篇文章主要介绍了JavaScript代码实现图片循环滚动效果的相关资料,非常不错,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

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中函数的四种调用方式总结

    这篇文章主要为大家详细介绍了JavaScript中函数的四种调用方式,文中的示例代码讲解详细,对我们深入掌握JavaScript有一定的帮助,需要的可以参考下
    2023-10-10
  • 微信小程序中使用 TDesign 组件库的方法

    微信小程序中使用 TDesign 组件库的方法

    本文介绍了如何在微信小程序中使用TDesign组件库,包括初始化项目、安装组件库、配置项目文件、构建npm以及使用组件等步骤,感兴趣的朋友跟随小编一起看看吧
    2025-01-01
  • echarts自定义饼图数据刷新和颜色渲染问题浅析

    echarts自定义饼图数据刷新和颜色渲染问题浅析

    这篇文章主要给大家介绍了关于echarts自定义饼图数据刷新和颜色渲染问题的相关资料,内容简明扼要并且容易理解,绝对能使你眼前一亮,需要的朋友可以参考下
    2023-05-05
  • 微信小程序开发之tabbar图标和颜色的实现

    微信小程序开发之tabbar图标和颜色的实现

    这篇文章主要介绍了微信小程序开发之tabbar图标和颜色的实现,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-10-10
  • JavaScript中闭包的详解

    JavaScript中闭包的详解

    本文主要介绍了JavaScript中闭包的相关知识。具有很好的参考价值。下面跟着小编一起来看下吧
    2017-04-04
  • div层的移动及性能优化

    div层的移动及性能优化

    层的移动本来很简单,用jquery插件或者自己写一个也不难,但是最近一个ipad项目里,发现用手移动div会感觉很卡,体验很差(可能是ipad的配置根不上pc)。
    2010-11-11
  • 一文熟练掌握JavaScript中Object.keys()与Object.values()的实用技巧

    一文熟练掌握JavaScript中Object.keys()与Object.values()的实用技巧

    本文详细介绍了JavaScript中Object.keys()和Object.values()方法的使用方法、功能及应用场景,通过实例展示了如何使用这些方法进行对象的遍历、复制、比较和属性计算等操作,需要的朋友可以参考下
    2025-01-01
  • js trim函数 去空格函数与正则集锦

    js trim函数 去空格函数与正则集锦

    在javascript中处理文本框输入值的时候,经常要用到"去掉前后空白"的功能。用过jQuery的朋友都知道,jQuery提供了一个trim()这样的功能函数,可以很轻松帮我们实现这样的效果。
    2009-11-11
  • BootStrap中Table分页插件使用详解

    BootStrap中Table分页插件使用详解

    bootstrap-table 是一个轻量级的table插件,使用AJAX获取JSON格式的数据,其分页和数据填充很方便,支持国际化。这篇文章介绍了bootstrap中table分页插件的使用,感兴趣的朋友一起看看吧
    2016-10-10
  • Bootstrap打造一个左侧折叠菜单的系统模板(二)

    Bootstrap打造一个左侧折叠菜单的系统模板(二)

    这篇文章主要介绍了Bootstrap打造一个左侧折叠菜单的系统模板(二)的相关资料,需要的朋友可以参考下
    2016-05-05

最新评论