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 相关文章推荐
仿迅雷焦点广告效果(JQuery版)
Nov 19 Javascript
jQuery 名称冲突的解决方法
Apr 08 Javascript
jQuery处理xml格式的返回数据(实例解析)
Nov 28 Javascript
IE下Ajax缓存问题的快速解决方法(get方式)
Jan 09 Javascript
AngularJS 视图详解及示例代码
Aug 17 Javascript
jquery二级目录选中当前页的css样式
Dec 08 Javascript
清除输入框内的空格
Dec 21 Javascript
javascript基础知识之html5轮播图实例讲解(44)
Feb 17 Javascript
JS实现将链接生成二维码并转为图片的方法
Mar 17 Javascript
vue-cli 2.*中导入公共less文件的方法步骤
Nov 22 Javascript
详解vue中async-await的使用误区
Dec 05 Javascript
antd 表格列宽自适应方法以及错误处理操作
Oct 27 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
一个简洁的多级别论坛
2006/10/09 PHP
mysql 的 like 问题,超强毕杀记!!!
2007/01/18 PHP
php $_SERVER当前完整url的写法
2009/11/12 PHP
PHP array操作10个小技巧分享
2011/06/23 PHP
php使用Imagick生成图片的方法
2015/07/31 PHP
PHP二分查找算法示例【递归与非递归方法】
2016/09/29 PHP
jQuery的实现原理的模拟代码 -4 重要的扩展函数 extend
2010/08/03 Javascript
一个轻量级的javascript库 pj介绍
2010/12/19 Javascript
Script的加载方法小结
2011/01/12 Javascript
html5的自定义data-*属性和jquery的data()方法的使用示例
2013/08/21 Javascript
json格式的时间显示为正常年月日的方法
2013/09/08 Javascript
JS将数字转换成三位逗号分隔的样式(示例代码)
2014/02/19 Javascript
Nodejs进程管理模块forever详解
2014/06/01 NodeJs
Java中Timer的用法详解
2015/10/21 Javascript
js+flash实现的5图变换效果广告代码(附演示与demo源码下载)
2016/04/01 Javascript
jQuery居中元素scrollleft计算方法示例
2017/01/16 Javascript
Node.js安装配置图文教程
2017/05/10 Javascript
javaScript封装的各种写法
2017/08/14 Javascript
使用vue + less 实现简单换肤功能的示例
2018/02/21 Javascript
jquery实现自定义树形表格的方法【自定义树形结构table】
2019/07/12 jQuery
js时间转换毫秒的实例代码
2019/08/21 Javascript
Antd下拉选择,自动匹配功能的实现
2020/10/24 Javascript
实例讲解Python爬取网页数据
2018/07/08 Python
PyCharm代码回滚,恢复历史版本的解决方法
2018/10/22 Python
Python批量删除只保留最近几天table的代码实例
2019/04/01 Python
python3在同一行内输入n个数并用列表保存的例子
2019/07/20 Python
python 设置xlabel,ylabel 坐标轴字体大小,字体类型
2019/07/23 Python
python实现读取excel文件中所有sheet操作示例
2019/08/09 Python
python实现快速文件格式批量转换的方法
2020/10/16 Python
html5中localStorage本地存储的简单使用
2017/06/16 HTML / CSS
阿根廷票务网站:StubHub阿根廷
2018/04/13 全球购物
档案管理员岗位职责
2013/12/01 职场文书
前台接待员岗位职责
2014/01/02 职场文书
教师批评与自我批评发言稿
2014/10/15 职场文书
九华山导游词
2015/02/03 职场文书
早上好问候语大全
2015/11/10 职场文书