基于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 event flow 的一个bug详解
Sep 17 Javascript
window.showModalDialog()返回值的学习心得总结
Jan 07 Javascript
利用javascript打开模态对话框(示例代码)
Jan 11 Javascript
JS案例分享之金额小写转大写
May 15 Javascript
jQuery中extend()和fn.extend()方法详解
Jun 03 Javascript
jq实现左侧显示图片右侧文字滑动切换效果
Aug 04 Javascript
jQuery实现摸拟alert提示框
May 22 Javascript
微信小程序使用Socket的实例
Sep 19 Javascript
JS实现利用两个队列表示一个栈的方法
Dec 13 Javascript
vue.js 使用axios实现下载功能的示例
Mar 05 Javascript
js实现随机点名程序
Sep 17 Javascript
Vue使用axios引起的后台session不同操作
Aug 14 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获取当前页面URL函数实例
2014/10/22 PHP
PHP间隔一段时间执行代码的方法
2014/12/02 PHP
PHP获取数组的键与值方法小结
2015/06/13 PHP
如何使用PHP对网站验证码进行破解
2015/09/17 PHP
高质量PHP代码的50个实用技巧必备(下)
2016/01/22 PHP
PHP中模糊查询并关联三个select框
2017/06/19 PHP
firefox下frameset取不到值的解决方法
2010/09/06 Javascript
图片动画横条广告带上下滚动的JS代码
2013/10/25 Javascript
jquery获取select选中值的方法分析
2015/12/22 Javascript
如何用js判断dom是否有存在某class的值
2017/02/13 Javascript
利用js判断手机是否安装某个app的多种方案
2017/02/13 Javascript
最实用的JS数组函数整理
2017/12/05 Javascript
layui的布局和表格的渲染以及动态生成表格的方法
2019/09/18 Javascript
0基础学习前端开发的一些建议
2020/07/14 Javascript
node koa2 ssr项目搭建的方法步骤
2020/12/11 Javascript
Python最基本的数据类型以及对元组的介绍
2015/04/14 Python
讲解Python的Scrapy爬虫框架使用代理进行采集的方法
2016/02/18 Python
全面理解Python中self的用法
2016/06/04 Python
Python简单实现阿拉伯数字和罗马数字的互相转换功能示例
2018/04/17 Python
Python实现的多叉树寻找最短路径算法示例
2018/07/30 Python
Python数据集切分实例
2018/12/08 Python
Python监听键盘和鼠标事件的示例代码
2020/11/18 Python
让IE6、IE7、IE8支持CSS3的脚本
2010/07/20 HTML / CSS
英国高级百货公司:Harvey Nichols
2017/01/29 全球购物
优质美利奴羊毛袜,不只是徒步旅行:Darn Tough Vermont
2018/11/05 全球购物
酒店管理毕业生自荐信
2013/10/24 职场文书
25岁生日感言
2014/01/13 职场文书
2014年党课学习材料
2014/05/11 职场文书
大气污染防治方案
2014/05/19 职场文书
宣传普通话标语
2014/06/27 职场文书
女性健康知识讲座主持词
2015/07/04 职场文书
安全生产标语口号
2015/12/26 职场文书
暑假开始了,你的暑假学习计划写好了吗?
2019/07/04 职场文书
PyTorch梯度裁剪避免训练loss nan的操作
2021/05/24 Python
Nginx反向代理学习实例教程
2021/10/24 Servers
警用民用对讲机找不同
2022/02/18 无线电