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 相关文章推荐
jQuery实现切换页面布局使用介绍
Oct 09 Javascript
IE8下String的Trim()方法失效的解决方法
Nov 08 Javascript
jquery默认校验规则整理
Mar 24 Javascript
非jQuery实现照片散落桌子上,单击放大的LightBox效果
Nov 28 Javascript
用js编写的简单的计算器代码程序
Aug 04 Javascript
微信小程序入门教程
Nov 18 Javascript
JS文件/图片从电脑里面拖拽到浏览器上传文件/图片
Mar 08 Javascript
jQuery ajax实现省市县三级联动
Mar 07 Javascript
Node.JS中快速扫描端口并发现局域网内的Web服务器地址(80)
Sep 18 Javascript
VUE+node(express)实现前后端分离
Oct 13 Javascript
vue 实现在同一界面实现组件的动态添加和删除功能
Jun 16 Javascript
jQuery+ajax实现文件上传功能
Dec 22 jQuery
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入门速成(2)
2006/10/09 PHP
php实现webservice实例
2014/11/06 PHP
PHP长网址与短网址的实现方法
2017/10/13 PHP
Javascript 自定义类型方法小结
2010/03/02 Javascript
Node.js中的流(Stream)介绍
2015/03/30 Javascript
基于node实现websocket协议
2016/04/25 Javascript
Node.js Addons翻译(C/C++扩展)
2016/06/12 Javascript
JS基于面向对象实现的选项卡效果示例
2016/12/20 Javascript
Javascript中for循环语句的几种写法总结对比
2017/01/23 Javascript
JavaScript与JQUERY获取元素的宽、高和位置
2017/02/26 Javascript
微信小程序开发之toast提示插件使用示例
2017/06/08 Javascript
bootstrap datepicker插件默认英文修改为中文
2017/07/28 Javascript
vue实现留言板todolist功能
2017/08/16 Javascript
vue封装第三方插件并发布到npm的方法
2017/09/25 Javascript
vue页面切换到滚动页面显示顶部的实例
2018/03/13 Javascript
微信小程序开发问题之wx.previewImage
2018/12/25 Javascript
vue基于viewer实现的图片查看器功能
2019/04/12 Javascript
详解Node.js一行命令上传本地文件到服务器
2019/04/22 Javascript
关于vue项目中搜索节流的实现代码
2019/09/17 Javascript
[59:30]完美世界DOTA2联赛PWL S3 access vs LBZS 第二场 12.20
2020/12/23 DOTA
python中子类继承父类的__init__方法实例
2016/12/15 Python
Python异常处理操作实例详解
2018/08/28 Python
Pycharm及python安装详细教程(图解)
2020/07/31 Python
python的flask框架难学吗
2020/07/31 Python
英国男士时尚网站:Dandy Fellow
2018/02/09 全球购物
描述一下JVM加载class文件的原理机制
2013/12/08 面试题
同居协议书范本
2014/04/23 职场文书
个人求职信范文
2014/05/24 职场文书
乡镇法制宣传日活动总结
2015/05/05 职场文书
2015年教师党员个人总结
2015/11/24 职场文书
pycharm debug 断点调试心得分享
2021/04/16 Python
Go 在 MongoDB 中常用查询与修改的操作
2021/05/07 Golang
详解Vue的options
2021/05/15 Vue.js
Centos7中MySQL数据库使用mysqldump进行每日自动备份的编写
2021/08/02 MySQL
Kubernetes控制节点的部署
2022/04/01 Servers
golang生成并解析JSON
2022/04/14 Golang