基于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 相关文章推荐
javascript 面向对象编程基础:封装
Aug 21 Javascript
javascript cookies 设置、读取、删除实例代码
Apr 12 Javascript
jQuery Lightbox 图片展示插件使用说明
Apr 25 Javascript
js获取浏览器基本信息大全
Nov 27 Javascript
微信小程序 欢迎页面的制作(源码下载)
Jan 09 Javascript
react native实现往服务器上传网络图片的实例
Aug 07 Javascript
Vue引用第三方datepicker插件无法监听datepicker输入框的值的解决
Jan 27 Javascript
页面点击小红心js实现代码
May 26 Javascript
webpack4.0 入门实践教程
Oct 08 Javascript
vue项目前端埋点的实现
Mar 06 Javascript
基于javascript的拖拽类封装详解
Apr 19 Javascript
JavaScript 异步时序问题
Nov 20 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 高手之路(一)
2006/10/09 PHP
php版微信公众平台之微信网页登陆授权示例
2016/09/23 PHP
php使用str_replace替换多维数组的实现方法分析
2017/06/15 PHP
PHP判断是否是微信打开,浏览器打开的方法
2018/03/14 PHP
Laravel 添加多语言提示信息的方法
2019/09/29 PHP
php post换行的方法
2020/02/03 PHP
JS正则表达式获取分组内容的方法详解
2013/11/15 Javascript
JavaScript中字符串(string)转json的2种方法
2015/06/25 Javascript
比较常见的javascript中定义函数的区别
2015/11/09 Javascript
Bootstrap3 内联单选和多选框
2016/12/29 Javascript
es6+angular1.X+webpack 实现按路由功能打包项目的示例
2017/08/16 Javascript
node.js实现为PDF添加水印的示例代码
2018/12/05 Javascript
最简单的JS实现json转csv的方法
2019/01/10 Javascript
微信小程序 Storage更新详解
2019/07/16 Javascript
Vue实现商品飞入购物车效果(电商项目)
2019/11/26 Javascript
[01:22:19]EG vs TNC Supermajor小组赛B组败者组第一轮 BO3 第二场 6.2
2018/06/03 DOTA
Python中输出ASCII大文字、艺术字、字符字小技巧
2015/04/28 Python
在类Unix系统上开始Python3编程入门
2015/08/20 Python
Python中shutil模块的常用文件操作函数用法示例
2016/07/05 Python
使用python在本地电脑上快速处理数据
2017/06/22 Python
Python提取频域特征知识点浅析
2019/03/04 Python
Python----数据预处理代码实例
2019/03/20 Python
python爬虫之快速对js内容进行破解
2019/07/09 Python
python将邻接矩阵输出成图的实现
2019/11/21 Python
Python 操作 PostgreSQL 数据库示例【连接、增删改查等】
2020/04/21 Python
Python参数传递实现过程及原理详解
2020/05/14 Python
python中re模块知识点总结
2021/01/17 Python
利用CSS3的border-radius绘制太极及爱心图案示例
2016/05/17 HTML / CSS
如何打开WebSphere远程debug
2014/10/10 面试题
竞聘上岗演讲稿范文
2014/01/10 职场文书
安全生产检查通报
2014/01/29 职场文书
餐饮营销方案
2014/02/23 职场文书
计算机科学系职业生涯规划书
2014/03/08 职场文书
会计与出纳自荐书范文
2014/03/16 职场文书
旅游安全协议书
2014/04/21 职场文书
css实现左上角飘带效果的完整代码
2022/03/18 HTML / CSS