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计数器代码
Nov 04 Javascript
js RuntimeObject() 获取ie里面自定义函数或者属性的集合
Nov 23 Javascript
js传参数受特殊字符影响错误的解决方法
Oct 21 Javascript
js中this的用法实例分析
Jan 10 Javascript
jQuery javascript获得网页的高度与宽度的实现代码
Apr 26 Javascript
老生常谈 关于JavaScript的类的继承
Jun 24 Javascript
JavaScript两个变量交换值的实现方法
Mar 01 Javascript
详解在 Angular 项目中添加 clean-blog 模板
Jul 04 Javascript
es6系列教程_ Map详解以及常用api介绍
Sep 25 Javascript
微信小程序表单验证功能完整实例
Dec 01 Javascript
vue-router 中 meta的用法详解
Nov 01 Javascript
微信小程序实现点击按钮后修改颜色
Dec 05 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 session处理的定制
2009/03/16 PHP
Smarty中常用变量操作符汇总
2014/10/27 PHP
关于ThinkPHP中的异常处理详解
2018/05/11 PHP
php使用curl_init()和curl_multi_init()多线程的速度比较详解
2018/08/15 PHP
中国地区三级联动下拉菜单效果分析
2012/11/15 Javascript
javascript中onclick(this)用法介绍
2013/04/19 Javascript
js操作输入框提示信息且响应鼠标事件
2014/03/25 Javascript
js实现飞入星星特效代码
2014/10/17 Javascript
JS实现判断滚动条滚到页面底部并执行事件的方法
2014/12/18 Javascript
js实现缓冲运动效果的方法
2015/04/10 Javascript
分享一些常用的jQuery动画事件和动画函数
2015/11/27 Javascript
图解Sublime Text3使用技巧
2015/12/21 Javascript
JavaScript如何实现在文本框(密码框)输入提示语
2015/12/25 Javascript
JQUERY的AJAX请求缓存里的数据问题处理
2016/02/23 Javascript
Javascript对象字面量的理解
2016/06/22 Javascript
由浅入深剖析Angular表单验证
2016/07/14 Javascript
BootStrap 附加导航组件
2016/07/22 Javascript
简单理解js的冒泡排序
2016/12/19 Javascript
jquery中关于bind()方法的使用技巧分享
2017/03/30 jQuery
详解windows下vue-cli及webpack 构建网站(二)导入bootstrap样式
2017/06/17 Javascript
浅析从vue源码看观察者模式
2018/01/29 Javascript
[02:49:21]2019完美盛典全程录像
2019/12/08 DOTA
简单谈谈Python中的反转字符串问题
2016/10/24 Python
Python爬取数据并写入MySQL数据库的实例
2018/06/21 Python
python3读取excel文件只提取某些行某些列的值方法
2018/07/10 Python
Django管理员账号和密码忘记的完美解决方法
2018/12/06 Python
python实现坦克大战游戏 附详细注释
2020/03/27 Python
对python中的装包与解包实例详解
2019/08/24 Python
python文字转语音的实例代码分析
2019/11/12 Python
Python爬取豆瓣数据实现过程解析
2020/10/27 Python
全球最大最受欢迎的旅游社区:Tripadvisor
2017/11/03 全球购物
旅游管理专业学生求职信
2013/09/28 职场文书
出纳员岗位职责风险
2014/03/06 职场文书
资料员岗位职责
2015/02/10 职场文书
升学宴家长答谢词
2015/09/29 职场文书
送给教师们,到底该如何写好教学反思?
2019/07/02 职场文书