基于JavaScript实现新增内容滚动播放效果附完整代码


Posted in Javascript onAugust 24, 2017

先给大家展示下效果图:

基于JavaScript实现新增内容滚动播放效果附完整代码

完整demo如下

每两秒随机向上或者向下滚动,如果要替换新内容,则通过html()更新内容即可(查看注释代码)

<!DOCTYPE html>
<head>
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
  <style>
    ul,li{
      list-style-type:none;
      border: solid;
    }
    ul{
      overflow: hidden;/*让li超出ul时隐藏*/
    }
    body{
      margin: 0px;
    }
  </style>
</head>
<body>
<div>
  <ul>
    <li>
      <img src="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1503543418892&di=1f606f0990cf6fa893c8330457b5fde2&imgtype=0&src=http%3A%2F%2Fi3.hoopchina.com.cn%2Fblogfile%2F201509%2F16%2FBbsImg144240668814516_480*360.jpg"/>
    </li>
    <li><img src="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1503543451619&di=a578daa6b6f794cb233f655cd5ecaf91&imgtype=0&src=http%3A%2F%2Fimg.qqzhi.com%2Fupload%2Fimg_0_3518803618D2241430362_23.jpg"/>
    </li>
    <li><img src="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1503544550636&di=086d271111b428fadf9e23abb7c06b1e&imgtype=0&src=http%3A%2F%2Fuploads.yeyoujia.com%2Fcms%2Fimages%2F2017%2F02%2F10%2F589d8e4598d46285900450.png">
    </li>
  </ul>
</div>
<script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.js"></script>
<script>
  function getRandom(min, max){
    var r = Math.random() * (max - min);
    var re = Math.round(r + min);
    re = Math.max(Math.min(re, max), min)
    return re;
  }
  $(function(){
    setInterval(function(){
      if(getRandom(0,1)==0){
        //向上滚动特效
        var ul = $("ul");
        var $first = ul.find('li:first');
        var height = $first.height();
        $first.animate({
          marginTop: -height + 'px'
        }, 500, function() {
//          $first.css('marginTop', 0).html(new Date().getMinutes()+":"+new Date().getSeconds()).appendTo(ul);/*不要写成append*/
          $first.css('marginTop', 0).appendTo(ul);
        });
      }else{
        //向下滚
        var ul = $("ul");
        var liHeight = ul.find("li:last").height();//计算最后一个li元素的高度
        ul.animate({marginTop : liHeight +"px"},500,function(){
//          ul.find("li:last").html(new Date().getMinutes()+":"+new Date().getSeconds()).prependTo(ul);/*不要写成prepend*/
          ul.find("li:last").prependTo(ul);/*不要写成prepend*/
          ul.find("li:first").hide();
          ul.css({marginTop:0});
          ul.find("li:first").fadeIn(1000);
        });
      }
    },2000);
  });
</script>
</body>
</html>

效果

Javascript 相关文章推荐
自己开发Dojo的建议框架
Sep 24 Javascript
用JavaScript修改CSS属性的代码
May 06 Javascript
jquery+json实现数据列表分页示例代码
Nov 15 Javascript
JavaScript严格模式禁用With语句的原因
Oct 20 Javascript
如何解决ligerUI布局时Center中的Tab高度大小
Nov 24 Javascript
node.js从数据库获取数据
May 08 Javascript
JavaScript遍历Json串浏览器输出的结果不统一问题
Nov 03 Javascript
jquery 判断div show的状态实例
Dec 03 Javascript
JS实现获取word文档内容并输出显示到html页面示例
Jun 23 Javascript
基于Element的组件改造的树形选择器(树形下拉框)
Feb 27 Javascript
vue监听滚动事件的方法
Dec 21 Vue.js
js用正则表达式筛选年月日的实例方法
Jan 04 Javascript
快速理解 JavaScript 中的 LHS 和 RHS 查询的用法
Aug 24 #Javascript
vue不通过路由直接获取url中参数的方法示例
Aug 24 #Javascript
VueJS 集成 Medium Editor的示例代码 (自定义编辑器按钮)
Aug 24 #Javascript
JS实现电商放大镜效果
Aug 24 #Javascript
weui框架实现上传、预览和删除图片功能代码
Aug 24 #Javascript
jQuery Datatable 多个查询条件自定义提交事件(推荐)
Aug 24 #jQuery
详解webpack2+node+react+babel实现热加载(hmr)
Aug 24 #Javascript
You might like
PHP详解ASCII码对照表与字符转换
2011/12/05 PHP
基于php伪静态的实现详细介绍
2013/04/28 PHP
php使用curl伪造浏览器访问操作示例
2019/09/30 PHP
Thinkphp 框架扩展之标签库驱动原理与用法分析
2020/04/23 PHP
ThinkPHP5 框架引入 Go AOP,PHP AOP编程项目详解
2020/05/12 PHP
JavaScript Prototype对象
2009/01/07 Javascript
TreeView 用法(有代码)(asp.net)
2011/07/15 Javascript
Javascript之this关键字深入解析
2013/11/12 Javascript
nodejs的10个性能优化技巧
2014/07/15 NodeJs
js制作带有遮罩弹出层实现登录注册表单特效代码分享
2015/09/05 Javascript
直接拿来用的15个jQuery代码片段
2015/09/23 Javascript
深入探讨javascript函数式编程
2015/10/11 Javascript
纯js实现瀑布流布局及ajax动态新增数据
2016/04/07 Javascript
客户端(vue框架)与服务器(koa框架)通信及服务器跨域配置详解
2017/08/26 Javascript
Node.js上传文件功能之服务端如何获取文件上传进度
2018/02/05 Javascript
react-native 圆弧拖动进度条实现的示例代码
2018/04/12 Javascript
vue+element-ui动态生成多级表头的方法
2018/08/28 Javascript
JavaScript数据结构与算法之二叉树实现查找最小值、最大值、给定值算法示例
2019/03/01 Javascript
VUE引入第三方js包及调用方法讲解
2019/03/01 Javascript
跟混乱的页面弹窗说再见
2019/04/11 Javascript
如何优雅地取消 JavaScript 异步任务
2020/03/22 Javascript
在vant中使用时间选择器和popup弹出层的操作
2020/11/04 Javascript
django请求返回不同的类型图片json,xml,html的实例
2018/05/22 Python
python GUI库图形界面开发之PyQt5访问系统剪切板QClipboard类详细使用方法与实例
2020/02/27 Python
计算Python Numpy向量之间的欧氏距离实例
2020/05/22 Python
如何利用python生成MD5并去重
2020/12/07 Python
css3通过scale()、rotate()实现放大、旋转
2020/03/19 HTML / CSS
程序运行正确, 但退出时却"core dump"了,怎么回事
2014/02/19 面试题
如何利用cmp命令比较文件
2013/09/23 面试题
高中毕业的自我鉴定
2013/12/09 职场文书
八一建军节感言
2014/02/28 职场文书
社区禁毒工作方案
2014/06/02 职场文书
技术入股合作协议书
2014/10/07 职场文书
财产分割协议书
2016/03/22 职场文书
长辈生日祝福语大全(72句)
2019/08/09 职场文书
Windows Server 2016服务器用户管理及远程授权图文教程
2022/08/14 Servers