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 相关文章推荐
Prototype源码浅析 Enumerable部分之each方法
Jan 16 Javascript
ext combobox动态加载数据库数据(附前后台)
Jun 17 Javascript
简介alert()与console.log()的不同
Aug 26 Javascript
Bootstrap Validator 表单验证
Jul 25 Javascript
原生js图片轮播效果实现代码
Oct 19 Javascript
jquery单击文字或图片内容放大并居中显示
Jun 23 jQuery
浅谈Vue.js应用的四种AJAX请求数据模式
Aug 30 Javascript
Angular6笔记之封装http的示例代码
Jul 27 Javascript
基于vue-cli3+typescript的tsx开发模板搭建过程分享
Feb 28 Javascript
详解webpack-dev-middleware 源码解读
Mar 23 Javascript
vue-列表下详情的展开与折叠案例
Jul 28 Javascript
利用JavaScript模拟京东按键输入功能
Dec 01 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
Protoss魔法科技
2020/03/14 星际争霸
PHP 常用函数库和一些实用小技巧
2009/01/01 PHP
PHP 获取远程文件内容的函数代码
2010/03/24 PHP
关于Sphinx创建全文检索的索引介绍
2013/06/25 PHP
Linux下从零开始安装配置Nginx服务器+PHP开发环境
2015/12/21 PHP
laravel unique验证、确认密码confirmed验证以及密码修改验证的方法
2019/10/16 PHP
一些mootools的学习资源
2010/02/07 Javascript
jQuery中:file选择器用法实例
2015/01/04 Javascript
JS获取图片lowsrc属性的方法
2015/04/01 Javascript
javascript实现动态统计图开发实例
2015/11/21 Javascript
JavaScript面向对象编写购物车功能
2016/08/19 Javascript
JS正则表达式验证账号、手机号、电话和邮箱是否合法
2017/03/08 Javascript
js实现年月日表单三级联动
2020/04/17 Javascript
微信小程序商品到详情的实现
2017/06/27 Javascript
Vuex入门到上手教程
2018/06/20 Javascript
JavaScript的Proxy可以做哪些有意思的事儿
2019/06/15 Javascript
百度小程序之间的页面通信过程详解
2019/07/18 Javascript
微信小程序用户拒绝授权的处理方法详解
2019/09/20 Javascript
vue项目中定义全局变量、函数的几种方法
2019/11/08 Javascript
Vue elementui字体图标显示问题解决方案
2020/08/18 Javascript
[01:28]一分钟告诉你DOTA2 TI9不朽宝藏Ⅱ中有什么!
2019/07/09 DOTA
[33:33]完美世界DOTA2联赛PWL S2 FTD.C vs SZ 第二场 11.27
2020/11/30 DOTA
详解Python中的join()函数的用法
2015/04/07 Python
Python3实战之爬虫抓取网易云音乐的热门评论
2017/10/09 Python
解决Python2.7中IDLE启动没有反应的问题
2018/11/30 Python
django框架F&amp;Q 聚合与分组操作示例
2019/12/12 Python
Python3爬虫里关于代理的设置总结
2020/07/30 Python
HTML5 body设置自适应全屏
2020/05/07 HTML / CSS
Nordgreen手表德国官方网站:丹麦极简主义手表
2019/10/31 全球购物
下面代码从性能上考虑,有什么问题
2015/04/03 面试题
火山动力Java笔试题
2014/06/26 面试题
知识改变命运演讲稿
2014/05/21 职场文书
旅行社优秀创业计划书
2014/08/16 职场文书
企业百日安全活动总结
2015/05/07 职场文书
员工聘用合同范本
2015/09/21 职场文书
Python打包exe时各种异常处理方案总结
2021/05/18 Python