Jquery 设置标题的自动翻转


Posted in Javascript onOctober 03, 2009

即一条新闻滚进视图之后,会暂停几秒钟,然后继续向上2滚动,淡出视图,同时,下一条新闻接着滚入视图。这次主要是用jquery来开发这个功能,里面肯定有许多不足之处,欢迎大家点评。
先粘贴一下代码,

<style> 
<%-- #news-feed 
{ 
padding: 0; 
margin: 0 0 0 10px; 
position: relative; 
height: 200px; 
width: 17em; 
overflow: hidden; 
} 
.headline 
{ 
position: absolute; 
height: 200px; 
top: 210px; 
overflow: hidden; 
}--%> 
</style> 
<script type="text/javascript"> 
$(document).ready(function() { 
$('#news-feed').each(function() { 
var $container = $(this); 
$container.empty(); 
$.get('feed.xml', function(data) { 
$('rss item', data).each(function() { 
var $link = $('<a></a>') 
.attr('href', $('link', this).text()) 
.text($('title', this).text()); 
var $headline = $('<h4></h4>').append($link); 
var pubDate = new Date($('pubDate', this).text()); 
var pubMonth = pubDate.getMonth() + 1; 
var pubDay = pubDate.getDate(); 
var pubYear = pubDate.getFullYear(); 
var $publication = $('<div></div>') 
.addClass('publication-date') 
.text(pubMonth + '/' + pubDay + '/' + pubYear); 
var $summary = $('<div></div>') 
.addClass('summary') 
.html($('description', this).text()); 
$('<div></div>') 
.addClass('headline') 
.append($headline, $publication) 
.appendTo($container); 
}); 
var currentHeadline = 0, oldHeadline = 0; 
var hiddenPosition = $container.height() + 10; 
$('div.headline').eq(currentHeadline).css('top', 0); 
var headlineCount = $('div.headline').length; 
var pause; 
var headlineRotate = function() { 
currentHeadline = (oldHeadline + 1) % headlineCount; 
$('div.headline').eq(oldHeadline).animate( 
{top: -hiddenPosition}, 'slow', function() { 
$(this).css('top', hiddenPosition); 
}); 
$('div.headline').eq(currentHeadline).animate( 
{top: 0}, 'slow', function() { 
pause = setTimeout(headlineRotate, 4000); 
}); 
oldHeadline = currentHeadline; 
}; 
pause = setTimeout(headlineRotate, 4000); 
$container.hover(function() { 
clearTimeout(pause); 
}, function() { 
pause = setTimeout(headlineRotate, 3000); 
}); 
}); 
}); 
}); 
</script> 
</head> 
<body> 
<form id="form1" runat="server"> 
<div id="sidebar"> 
<h3>Recent News</h3> 
<div id="news-feed"> 
<a href="###">News Releases</a> 
</div> 
</div> 
</form> 
</body>

我们来庖丁解牛一下这些代码,首先来看样式,因为我们一次只显示一条新闻记录,所以,我们应该把高度也设为一条记录的,在这里设为200px,而且如果超了的话,我们就自动隐藏起来overflow=hidden。在这里,数据源我们用的是feed.xml,Jquery加载并读取xml文件是很简单的,可以参考上面的写法,通过读取xml文件,取出数据,进行组装,就得到了要显示的html代码段并附加到#container中,同时,在滚动显示中,我们需要设置两个变量,一个用于记录当前可见的标题,另一个用于记录刚刚滚动出视图的标题。并且让当前的记录显示在最上方,一定要注意的是,位置不能为static。最后,就是写一个函数,每次自动调用记录的显示。jquery还有很多的插件,可以更加简化这些操作,以后多学习了。如果想学习jquery,个人推荐jquery基础教程,jonathan chaffer编写的,很不错,很适合初学者,国内其他的人写的,里面就鱼龙混杂了。
Javascript 相关文章推荐
JS操作数据库的实例代码
Oct 17 Javascript
js 动态为textbox添加下拉框数据源的方法
Apr 24 Javascript
Javascript前端UI框架Kit使用指南之kitjs事件管理
Nov 28 Javascript
《JavaScript DOM 编程艺术》读书笔记之JavaScript 语法
Jan 09 Javascript
apply和call方法定义及apply和call方法的区别
Nov 15 Javascript
DeviceOne 让你一见钟情的App快速开发平台
Feb 17 Javascript
关于input全选反选恶心的异常情况
Jul 24 Javascript
javascript编写简易计算器
May 06 Javascript
jQuery实现全选、反选和不选功能
Aug 16 jQuery
Angular 4.0学习教程之架构详解
Sep 12 Javascript
layer父页获取弹出层输入框里面的值方法
Sep 02 Javascript
基于vue3.0.1beta搭建仿京东的电商H5项目
May 06 Javascript
点击下载链接 弹出页面实现代码
Oct 01 #Javascript
点击文章内容处弹出页面代码
Oct 01 #Javascript
js类的静态属性和实例属性的理解
Oct 01 #Javascript
XmlUtils JS操作XML工具类
Oct 01 #Javascript
PPK 谈 JavaScript 的 this 关键字 [翻译]
Sep 29 #Javascript
一个JS小玩意 几个属性相加不能超过一个特定值.
Sep 29 #Javascript
IE FF OPERA都可用的弹出层实现代码
Sep 29 #Javascript
You might like
PHP执行速率优化技巧小结
2008/03/15 PHP
将时间以距今多久的形式表示,PHP,js双版本
2012/09/25 PHP
多广告投放代码 推荐
2006/11/13 Javascript
JS array 数组详解
2009/03/22 Javascript
将HTML的左右尖括号等转义成实体形式的两种实现方式
2014/05/04 Javascript
JavaScript检测并限制复选框选中个数的方法
2015/08/12 Javascript
CSS中position属性之fixed实现div居中
2015/12/14 Javascript
jQuery增加与删除table列的方法
2016/03/01 Javascript
Javascript使用uploadify来实现多文件上传
2016/11/16 Javascript
node.js中debug模块的简单介绍与使用
2017/04/25 Javascript
基于JS实现移动端左滑删除功能
2017/07/28 Javascript
详解JavaScript中的六种错误类型
2017/09/21 Javascript
jquery获取select选中值的文本,并赋值给另一个输入框的方法
2018/08/21 jQuery
详解Vue项目部署遇到的问题及解决方案
2019/01/11 Javascript
layui扩展上传组件模拟进度条的方法
2019/09/23 Javascript
解决Vue @submit 提交后不刷新页面问题
2020/07/18 Javascript
微信小程序绘制半圆(弧形)进度条
2020/11/18 Javascript
[01:09]2014DOTA2国际邀请赛 TI4西雅图DOTA2 中国美女coser加油助威
2014/07/20 DOTA
TensorFlow实现创建分类器
2018/02/06 Python
pycharm安装和首次使用教程
2018/08/27 Python
seek引发的python文件读写的问题及解决
2019/07/26 Python
Python Selenium 设置元素等待的三种方式
2020/03/18 Python
PatPat德国:妈妈的每日优惠
2019/10/02 全球购物
主键(Primary Key)约束和唯一性(UNIQUE)约束的区别
2013/05/29 面试题
某公司面试题
2012/03/05 面试题
临床医师专业个人自我评价范文
2013/11/07 职场文书
高中语文教学反思
2014/01/16 职场文书
顶撞老师检讨书
2014/02/07 职场文书
应届电子商务毕业自荐书范文
2014/02/11 职场文书
2014年文学毕业生自我鉴定
2014/04/23 职场文书
优秀班主任经验交流材料
2014/06/02 职场文书
亚运会口号
2014/06/20 职场文书
护士找工作求职信
2014/07/02 职场文书
2014年药房工作总结
2014/11/22 职场文书
2016拓展训练心得体会范文
2016/01/12 职场文书
经典哲理警句:志不真则心不热,心不热则功不贤
2019/11/14 职场文书