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 相关文章推荐
33种Javascript 表格排序控件收集
Dec 03 Javascript
Javascript操作URL函数修改版
Nov 07 Javascript
javascript避免数字计算精度误差的方法详解
Mar 05 Javascript
node.js中的fs.truncateSync方法使用说明
Dec 15 Javascript
JavaScript 学习笔记之基础中的基础
Jan 13 Javascript
js判断移动端是否安装某款app的多种方法
Dec 18 Javascript
jQuery插件FusionCharts绘制的3D环饼图效果示例【附demo源码】
Apr 02 jQuery
vue router路由嵌套不显示问题的解决方法
Jun 17 Javascript
解决vue2.x中数据渲染以及vuex缓存的问题
Jul 13 Javascript
深入了解JavaScript 防抖和节流
Sep 12 Javascript
解决Vue watch里调用方法的坑
Nov 07 Javascript
Ajax异步刷新功能及简单案例
Nov 20 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
特详细的PHPMYADMIN简明安装教程
2008/08/01 PHP
一周让你学会PHP 不错的学习资料
2009/02/06 PHP
php 数组的一个悲剧?
2011/05/11 PHP
PHP中遍历stdclass object的实现代码
2011/06/09 PHP
PHP文件大小格式化函数合集
2014/03/10 PHP
基于PHP实现简单的随机抽奖小程序
2016/01/05 PHP
基于PHP的加载类操作以及其他两种魔术方法的应用实例
2017/08/28 PHP
基于jquery的点击链接插入链接内容的代码
2012/07/31 Javascript
ExtJS4 Grid改变单元格背景颜色及Column render学习
2013/02/06 Javascript
Node.js生成HttpStatusCode辅助类发布到npm
2013/04/09 Javascript
兼容IE和FF的图片上传前预览js代码
2013/05/28 Javascript
JQuery拖动表头边框线调整表格列宽效果代码
2014/09/10 Javascript
jQuery前端分页示例分享
2015/02/10 Javascript
JavaScript对象参数的引用传递
2016/01/14 Javascript
jQuery基本选择器(实例及表单域value的获取方法)
2016/05/20 Javascript
JS中正则表达式只有3种匹配模式(没有单行模式)详解
2016/07/28 Javascript
jQuery图片前后对比插件beforeAfter用法示例【附demo源码下载】
2016/09/20 Javascript
浅谈jQuery this和$(this)的区别及获取$(this)子元素对象的方法
2016/11/29 Javascript
vue自定义指令directive的使用方法
2019/04/07 Javascript
[05:11]TI9战队采访——VIRTUSPRO
2019/08/22 DOTA
matplotlib savefig 保存图片大小的实例
2018/05/24 Python
Python操作SQLite数据库过程解析
2019/09/02 Python
Python多线程:主线程等待所有子线程结束代码
2020/04/25 Python
使用keras实现Precise, Recall, F1-socre方式
2020/06/15 Python
django ObjectDoesNotExist 和 DoesNotExist的用法
2020/07/09 Python
python数据抓取3种方法总结
2021/02/07 Python
HTML5离线缓存在tomcat下部署可实现图片flash等离线浏览
2012/12/13 HTML / CSS
JD Sports意大利:英国篮球和运动时尚的领导者
2017/10/29 全球购物
日本动漫周边服饰销售网站:Atsuko
2019/12/16 全球购物
学校十一活动方案
2014/02/01 职场文书
人力资源职位说明书
2014/07/29 职场文书
用人单位的规章制度,怎样制定才是有效的?
2019/07/09 职场文书
为什么node.js不适合大型项目
2021/04/28 Javascript
CSS Transition通过改变Height实现展开收起元素
2021/08/07 HTML / CSS
MySQL中int (10) 和 int (11) 的区别
2022/01/22 MySQL
Hive导入csv文件示例
2022/06/25 数据库