JS实现的新浪微博大厅文字内容滚动效果代码


Posted in Javascript onNovember 05, 2015

本文实例讲述了JS实现的新浪微博大厅文字内容滚动效果代码。分享给大家供大家参考,具体如下:

新浪微博大厅滚动tweets-slide,JavaScript实现,貌似这些天有不少朋友需要这功能,前几天已经发了几个了,不过今天发现这款竟然还要好,不敢独享,希望需要的朋友喜欢哦。

运行效果截图如下:

JS实现的新浪微博大厅文字内容滚动效果代码

在线演示地址如下:

具体代码如下:

<!doctype html>
<html>
<head>
<title>新浪微博大厅滚动tweets-slide</title>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<style type="text/css">
ul, li {margin:0; padding:0;list-style:none}
body {
 margin: 0;
 height: 100%;
 background: #333;
}
.wp {
 position: relative;
 width: 800px;
 height: 400px;
 overflow: hidden;
 margin: 20px auto;
 border: 4px solid #121212;
 background: #fff;
}
.slider {
 position: absolute;
 width: 760px;
 padding: 0 20px;
 left:0;
 top: 0;
}
.fl {float:left}
.slider img {display:block; padding: 2px; border: 1px solid #ccc} 
.slider li {padding: 20px 0; border-bottom: 1px dashed #ccc;overflow:hidden;width:100%}
.slider p {font-size: 12px;margin:0;padding-left:68px;color:#333;line-height:20px;}
</style>
<script type="text/javascript">
function H$(i) {return document.getElementById(i)}
function H$$(c, p) {return p.getElementsByTagName(c)}
var slider = function () {
 function init (o) {
  this.id = o.id;
  this.at = o.auto ? o.auto : 3;
  this.o = 0;
  this.pos();
 }
 init.prototype = {
  pos : function () {
   clearInterval(this.__b);
   this.o = 0;
   var el = H$(this.id), li = H$$('li', el), l = li.length;
   var _t = li[l-1].offsetHeight;
   var cl = li[l-1].cloneNode(true);
   cl.style.opacity = 0; cl.style.filter = 'alpha(opacity=0)';
   el.insertBefore(cl, el.firstChild);
   el.style.top = -_t + 'px';
   this.anim();
  },
  anim : function () {
   var _this = this;
   this.__a = setInterval(function(){_this.animH()}, 20);
  },
  animH : function () {
   var _t = parseInt(H$(this.id).style.top), _this = this;
   if (_t >= -1) {
    clearInterval(this.__a);
    H$(this.id).style.top = 0;
    var list = H$$('li',H$(this.id));
    H$(this.id).removeChild(list[list.length-1]);
    this.__c = setInterval(function(){_this.animO()}, 20);
    //this.auto();
   }else {
    var __t = Math.abs(_t) - Math.ceil(Math.abs(_t)*.07);
    H$(this.id).style.top = -__t + 'px';
   }
  },
  animO : function () {
   this.o += 2;
   if (this.o == 100) {
    clearInterval(this.__c);
    H$$('li',H$(this.id))[0].style.opacity = 1;
    H$$('li',H$(this.id))[0].style.filter = 'alpha(opacity=100)';
    this.auto();
   }else {
    H$$('li',H$(this.id))[0].style.opacity = this.o/100;
    H$$('li',H$(this.id))[0].style.filter = 'alpha(opacity='+this.o+')';
   }
  },
  auto : function () {
   var _this = this;
   this.__b = setInterval(function(){_this.pos()}, this.at*1000);
  }
 }
 return init;
}();
</script>
</head>
<body>
<div class="wp">
 <ul id="slider" class="slider">
  <li><a class="fl" href="javascript:;"><img src="images/u160412.jpg" alt="" /></a>
   <p>曾虑多情损梵行

 入山又恐别倾城


 世间安得双全法


 不负如来不负卿</p>
  </li>
  <li><a class="fl" href="javascript:;"><img src="images/u160412.jpg" alt="" /></a>
   <p>第一最好不相见,如此便可不相恋。
第二最好不相知,如此便可不相思。<br/> 
第三最好不相伴,如此便可不相欠。
第四最好不相惜,如此便可不相忆。<br/> 
第五最好不相爱,如此便可不相弃。 
  </li>
  <li><a class="fl" href="javascript:;"><img src="images/u160412.jpg" alt="" /></a>
   <p>人生若只如初见,何事秋风悲画扇。
等闲变却故人心,却道故人心易变。<br/>
骊山语罢清宵半,泪雨零铃终不怨。
何如薄幸锦衣郎,比翼连枝当日愿。</p>
  </li>
  <li><a class="fl" href="javascript:;"><img src="images/u160412.jpg" alt="" /></a>
   <p>今天天气不错,我们都出来郊游了,可不一会就下起了雨,都淋湿了,但心情很爽噢。<br/>必竟我们不怎么出来玩,一出来就碰到了雨,很荣幸哦!</p>
  </li>
 </ul>
</div>
<script type="text/javascript">
new slider({id:'slider'})
</script>
</body>
</html>

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
Asp.net下利用Jquery Ajax实现用户注册检测(验证用户名是否存)
Sep 12 Javascript
日期处理的js库(迷你版)--自建js库总结
Nov 21 Javascript
JS实现一个列表中包含上移下移删除等功能
Sep 24 Javascript
jQuery链使用指南
Jan 20 Javascript
jQuery实现发送验证码并60秒倒计时功能
Nov 25 Javascript
深入了解JavaScript的逻辑运算符(与、或)
Dec 20 Javascript
详解js中Number()、parseInt()和parseFloat()的区别
Dec 20 Javascript
从零学习node.js之详解异步控制工具async(八)
Feb 27 Javascript
详解Vue单元测试Karma+Mocha学习笔记
Jan 31 Javascript
详解使用React.memo()来优化函数组件的性能
Mar 19 Javascript
JavaScript Array对象基本方法详解
Sep 03 Javascript
JavaScript中的this基本问题实例小结
Mar 09 Javascript
JS实现自定义简单网页软键盘效果代码
Nov 05 #Javascript
JavaScript实现cookie的写入、读取、删除功能
Nov 05 #Javascript
JS实现slide文字框缩放伸展效果代码
Nov 05 #Javascript
如何防止JavaScript自动插入分号
Nov 05 #Javascript
javascript常用函数(2)
Nov 05 #Javascript
使用JavaScript和CSS实现文本隔行换色的方法
Nov 04 #Javascript
javascript常用函数(1)
Nov 04 #Javascript
You might like
PHP+ajaxfileupload+jcrop插件完美实现头像上传剪裁
2014/06/09 PHP
destoon数据库表说明汇总
2014/07/15 PHP
PHP开发框架Laravel数据库操作方法总结
2014/09/03 PHP
php中file_get_content 和curl以及fopen 效率分析
2014/09/19 PHP
PHP开发Apache服务器配置
2015/07/15 PHP
Zend Framework实现留言本分页功能(附demo源码下载)
2016/03/22 PHP
PHP生成图片验证码功能示例
2017/01/12 PHP
PHP中quotemeta()函数的用法讲解
2019/04/04 PHP
js word表格动态添加代码
2010/06/07 Javascript
FileUpload上传图片(图片不变形)
2010/08/05 Javascript
小试JQuery的AutoComplete插件
2011/05/04 Javascript
onkeyup,onkeydown和onkeypress的区别介绍
2013/10/21 Javascript
如何在JavaScript中实现私有属性的写类方式(一)
2013/12/04 Javascript
jquery日历控件实现方法分享
2014/03/07 Javascript
JavaScript中一个奇葩的IE浏览器判断方法
2014/04/16 Javascript
vue2.0父子组件间通信的实现方法
2017/04/19 Javascript
JS实现不用中间变量temp 实现两个变量值得交换方法
2018/02/04 Javascript
Node.js 路由的实现方法
2019/06/05 Javascript
小程序实现背景音乐播放和暂停
2020/06/19 Javascript
微信小程序实现canvas分享朋友圈海报
2020/06/21 Javascript
Python编程求质数实例代码
2018/01/31 Python
python print出共轭复数的方法详解
2019/06/25 Python
Python合并2个字典成1个新字典的方法(9种)
2019/12/19 Python
python中有帮助函数吗
2020/06/19 Python
python实现每天自动签到领积分的示例代码
2020/08/18 Python
医学护理毕业生自荐信
2013/11/07 职场文书
实习鉴定范文
2013/12/19 职场文书
《画家乡》教学反思
2014/04/22 职场文书
厉行勤俭节约倡议书
2014/05/16 职场文书
高一学年自我鉴定范文(3篇)
2014/09/26 职场文书
政府班子四风问题整改措施思想汇报
2014/10/08 职场文书
设立有限责任公司出资协议书
2014/11/01 职场文书
教师年度考核个人总结
2015/02/12 职场文书
2015秋季开学典礼致辞
2015/07/16 职场文书
Go语言基础map用法及示例详解
2021/11/17 Golang
使用 Docker Compose 构建复杂的多容器App
2022/04/30 Servers