基于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中直接写php代码的方法
Jul 31 Javascript
使用Raygun对Node.js应用进行错误处理的方法
Jun 23 Javascript
JS+CSS实现的经典tab选项卡效果代码
Sep 16 Javascript
javascript实现无缝上下滚动特效
Dec 16 Javascript
jQuery配合coin-slider插件制作幻灯片效果的流程解析
May 13 Javascript
Ionic2系列之使用DeepLinker实现指定页面URL
Nov 21 Javascript
使用js获取伪元素的content实例
Oct 24 Javascript
JavaScript中关于class的调用方法
Nov 28 Javascript
JS实现利用两个队列表示一个栈的方法
Dec 13 Javascript
JavaScript基于数组实现的栈与队列操作示例
Dec 22 Javascript
微信小程序实现复选框效果
Dec 28 Javascript
vue-video-player实现实时视频播放方式(监控设备-rtmp流)
Aug 10 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 随机数的产生、页面跳转、件读写、文件重命名、switch语句
2009/08/07 PHP
解析php二分法查找数组是否包含某一元素
2013/05/23 PHP
joomla jce editor 解决上传中文名文件失败问题
2013/06/09 PHP
PHP函数preg_match_all正则表达式的基本使用详细解析
2013/08/31 PHP
php调用淘宝开放API实现根据卖家昵称获取卖家店铺ID的方法
2015/07/29 PHP
PHP实现文件上传和多文件上传
2015/12/24 PHP
CI框架整合widget(页面格局)的方法
2016/05/17 PHP
php生成条形码的图片的实例详解
2017/09/13 PHP
基于laravel where的高级使用方法
2019/10/10 PHP
Web版彷 Visual Studio 2003 颜色选择器
2007/01/09 Javascript
Javascript 解疑
2009/11/11 Javascript
Javascript延迟执行实现方法(setTimeout)
2010/12/30 Javascript
30分钟就入门的正则表达式基础教程
2013/02/25 Javascript
javascript仿php的print_r函数输出json数据
2013/09/13 Javascript
jQuery实现的登录浮动框效果代码
2015/09/26 Javascript
跟我学习javascript的undefined与null
2015/11/17 Javascript
如何判断Javascript对象是否存在的简单实例
2016/05/18 Javascript
JavaScript原生编写《飞机大战坦克》游戏完整实例
2017/01/04 Javascript
Bootstrap多级菜单的实现代码
2017/05/23 Javascript
js学习总结_选项卡封装(实例讲解)
2017/07/13 Javascript
vue中英文切换实例代码
2020/01/21 Javascript
vue路由分文件拆分管理详解
2020/08/13 Javascript
Vue如何循环提取对象数组中的值
2020/11/18 Vue.js
Python 执行字符串表达式函数(eval exec execfile)
2014/08/11 Python
灵活运用CSS3特性绘制简易版围棋效果
2016/09/28 HTML / CSS
boostrap modal 闪现问题的解决方法
2020/09/01 HTML / CSS
日本著名的服饰鞋帽综合类购物网站:MAGASEEK
2019/01/09 全球购物
英国Radley包德国官网:Radley London德国
2019/11/18 全球购物
Otiumberg官网:英国半精致珠宝品牌
2021/01/16 全球购物
简单说说tomcat的配置
2013/05/28 面试题
毕业自我鉴定
2013/11/05 职场文书
应届生会计求职信
2013/11/11 职场文书
户籍证明的格式
2014/01/13 职场文书
入党自我评价范文
2014/02/02 职场文书
pandas中对文本类型数据的处理小结
2021/11/01 Python
Redis中key的过期删除策略和内存淘汰机制
2022/04/12 Redis