JS简单封装的图片无缝滚动效果示例【测试可用】


Posted in Javascript onMarch 22, 2017

本文实例讲述了JS简单封装的图片无缝滚动效果。分享给大家供大家参考,具体如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="utf-8">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无缝滚动图片示例-F-BLOG</title>
    <style type="text/css">
      ul{list-style:none;padding:0px;margin:0px;}
      #demo1 ul,#demo2 ul{width:400px;}
      #demo1 li,#demo2 li{float:left;}
    </style>
    <script type="text/javascript">
      function $(id){
        return document.getElementById(id);
      }
      function Marquee(id,toFollow,speed)
      {
        var doScroll;
        var scrollBox_x="<table cellpadding='0' cellspacing='0'><tr><td id='"+id+"abox'>"+$(id).innerHTML+"</td><td id='"+id+"bbox'>"+$(id).innerHTML+"</td></tr></table>";
        var scrollBox_y="<table cellpadding='0' cellspacing='0'><tr><td id='"+id+"abox'>"+$(id).innerHTML+"</td></tr><tr><td id='"+id+"bbox'>"+$(id).innerHTML+"</td></tr></table>";
        var begin=function(){
          switch(toFollow){
            case "left":
              $(id).innerHTML=scrollBox_x;
              doScroll=setInterval(function(){
                if($(id).scrollLeft==$(id+"abox").offsetWidth) $(id).scrollLeft=0;
                $(id).scrollLeft++;
              },speed);
              break;
            case "right":
              $(id).innerHTML=scrollBox_x;
              doScroll=setInterval(function(){
                if($(id).scrollLeft<=0) $(id).scrollLeft=$(id+"bbox").offsetWidth;
                $(id).scrollLeft--;
              },speed);
              break;
            case "top":
              $(id).innerHTML=scrollBox_y;
              doScroll=setInterval(function(){
                if($(id).scrollTop==$(id+"abox").offsetHeight) $(id).scrollTop=0;
                $(id).scrollTop++;
              },speed);
              break;
            case "bottom":
              $(id).innerHTML=scrollBox_y;
              doScroll=setInterval(function(){
                if($(id).scrollTop<=0) $(id).scrollTop=$(id+"bbox").offsetHeight;
                $(id).scrollTop--;
              },speed);
              break;
            }
          }
          begin();
          $(id).onmouseover=function() {clearInterval(doScroll);}
          $(id).onmouseout=function() {begin();}
        }
        window.onload=function(){
          Marquee("demo2","left",30);
          Marquee("demo1","right",20);
          Marquee("demo3","top",30);
          Marquee("demo4","bottom",30);
        }
</script>
  </head>
<body>
   <div id="demo1" style="overflow:hidden;height:100px;width:300px;">
     <ul>
       <li><img src="mm.jpg" mce_src="mm.jpg" style="height:100px;width:200px;" /></li>
       <li><img src="me.jpg" mce_src="me.jpg" style="height:100px;width:200px;" /></li>
     </ul>
   </div>
   <br/>
   <div id="demo2" style="overflow:hidden;height:100px;width:300px;">
     <ul>
       <li><img src="mm.jpg" mce_src="mm.jpg" style="height:100px;width:200px;" /></li>
       <li><img src="me.jpg" mce_src="me.jpg" style="height:100px;width:200px;" /></li>
     </ul>
   </div>
   <br/>
   <div id="demo3" style="overflow:hidden;height:150px;width:200px;">
     <ul>
       <li><img src="mm.jpg" mce_src="mm.jpg" style="height:100px;width:200px;" /></li>
       <li><img src="me.jpg" mce_src="me.jpg" style="height:100px;width:200px;" /></li>
     </ul>
   </div>
   <br/>
   <div id="demo4" style="overflow:hidden;height:150px;width:200px;">
     <ul>
       <li><img src="mm.jpg" mce_src="mm.jpg" style="height:100px;width:200px;" /></li>
       <li><img src="me.jpg" mce_src="me.jpg" style="height:100px;width:200px;" /></li>
     </ul>
   </div>
</body>
</html>

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
一个简单的Ext.XTemplate的实例代码
Mar 18 Javascript
使用jQuery监听DOM元素大小变化
Feb 24 Javascript
打造自己的jQuery插件入门教程
Sep 23 Javascript
浅谈javascript中的三种弹窗
Oct 21 Javascript
纯JS代码实现隔行变色鼠标移入高亮
Nov 23 Javascript
使用BootStrap进行轮播图的制作
Jan 06 Javascript
vue mintui-Loadmore结合实现下拉刷新和上拉加载示例
Oct 12 Javascript
vue嵌套路由与404重定向实现方法分析
May 04 Javascript
Vue 一键清空表单的实现方法
Feb 07 Javascript
Node.js中出现未捕获异常的处理方法
Jun 29 Javascript
element多个表单校验的实现
May 27 Javascript
用JS创建一个录屏功能
Nov 11 Javascript
Vue计算属性的学习笔记
Mar 22 #Javascript
Angular2实现自定义双向绑定属性
Mar 22 #Javascript
Bootstrap如何激活导航状态
Mar 22 #Javascript
Bootstrap超大屏幕的实现代码
Mar 22 #Javascript
Bootstrap缩略图的创建方法
Mar 22 #Javascript
JS+DIV实现的卷帘效果示例
Mar 22 #Javascript
Bootstrap页面标题Page Header的实现方法
Mar 22 #Javascript
You might like
回答PHPCHINA上的几个问题:URL映射
2007/02/14 PHP
php下过滤HTML代码的函数
2007/12/10 PHP
PHP脚本中include文件出错解决方法
2008/11/20 PHP
PHP递归实现汉诺塔问题的方法示例
2017/11/25 PHP
jQuery(1.6.3) 中css方法对浮动的实现缺陷分析
2011/09/09 Javascript
JavaScript实现仿新浪微博大厅和腾讯微博首页滚动特效源码
2015/09/15 Javascript
JS+CSS实现另类带提示效果的竖向导航菜单
2015/10/15 Javascript
Bootstrap Paginator分页插件与ajax相结合实现动态无刷新分页效果
2016/05/27 Javascript
原生js实现验证码功能
2017/03/16 Javascript
Vue 2.0在IE11中打开项目页面空白的问题解决
2017/07/16 Javascript
jQuery实现的事件绑定功能基本示例
2017/10/11 jQuery
深入浅析Vue 中 ref 的使用
2019/04/29 Javascript
Python编程实现的简单Web服务器示例
2017/06/22 Python
PyQt 线程类 QThread使用详解
2017/07/16 Python
python+pyqt实现右下角弹出框
2017/10/26 Python
Python编程argparse入门浅析
2018/02/07 Python
Python之dict(或对象)与json之间的互相转化实例
2018/06/05 Python
值得收藏的10道python 面试题
2019/04/15 Python
Python创建空列表的字典2种方法详解
2020/02/13 Python
Django单元测试中Fixtures用法详解
2020/02/25 Python
详解PyQt5信号与槽的几种高级玩法
2020/03/24 Python
使用Python将语音转换为文本的方法
2020/08/10 Python
pyqt5 textEdit、lineEdit操作的示例代码
2020/08/12 Python
OnePlus加拿大官网:中国国际化手机品牌
2020/10/13 全球购物
声明struct x1 { . . . }; 和typedef struct { . . . }x2;有什么不同
2012/06/02 面试题
幼儿园老师辞职信
2014/01/20 职场文书
文明家庭先进事迹材
2014/01/27 职场文书
《临死前的严监生》教学反思
2014/02/13 职场文书
团队拓展活动方案
2014/08/28 职场文书
走群众路线剖析材料
2014/10/09 职场文书
敬老院义诊活动总结
2015/05/07 职场文书
pytorch加载预训练模型与自己模型不匹配的解决方案
2021/05/13 Python
详解Laravel制作API接口
2021/05/31 PHP
浅析Python OpenCV三种滤镜效果
2022/04/11 Python
Android基础入门之dataBinding的简单使用教程
2022/06/21 Java/Android
关于对TypeScript泛型参数的默认值理解
2022/07/15 Javascript