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 相关文章推荐
IE php关于强制下载文件的代码
Aug 23 Javascript
页面中js执行顺序
Nov 09 Javascript
多浏览器兼容的获取元素和鼠标的位置的js代码
Dec 15 Javascript
Javascript图像处理—虚拟边缘介绍及使用方法
Dec 27 Javascript
在JavaScript并非所有的一切都是对象
Apr 11 Javascript
全面兼容的javascript时间格式化函数(比较实用)
May 14 Javascript
jquery表单验证插件formValidator使用方法
Apr 01 Javascript
JavaScript面向对象编写购物车功能
Aug 19 Javascript
DataTables添加额外的查询参数和删除columns等无用参数实例
Jul 04 Javascript
原生JS实现 MUI导航栏透明渐变效果
Nov 07 Javascript
react native 获取地理位置的方法示例
Aug 28 Javascript
微信小程序实现Swiper轮播图效果
Nov 22 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面向对象分析设计的61条军规小结
2010/07/17 PHP
php中单个数据库字段多列显示(单字段分页、横向输出)
2014/07/28 PHP
Laravel 5框架学习之路由、控制器和视图简介
2015/04/07 PHP
php根据一个给定范围和步进生成数组的方法
2015/06/19 PHP
php采用session实现防止页面重复刷新
2015/12/24 PHP
深入理解PHP JSON数组与对象
2016/07/19 PHP
wordpress自定义标签云与随机获取标签的方法详解
2019/03/22 PHP
JS解密入门之凭直觉解
2008/06/25 Javascript
firefox firebug中文入门教程 脚本之家新年特别版
2010/01/02 Javascript
jQuery对象和DOM对象的相互转化实现代码
2010/03/02 Javascript
js 异步操作回调函数如何控制执行顺序
2013/12/24 Javascript
AngularJs定制样式插入到ueditor中的问题小结
2016/08/01 Javascript
浅谈javascript:两种注释,声明变量,定义函数
2016/10/05 Javascript
JavaScript 过滤关键字
2017/03/20 Javascript
javascript 数据存储的常用函数总结
2017/06/01 Javascript
浅谈JS封闭函数、闭包、内置对象
2017/07/18 Javascript
关于JavaScript语句后面的分号问题
2017/12/07 Javascript
JS排序算法之希尔排序与快速排序实现方法
2017/12/12 Javascript
VS Code转换大小写、修改选中文字或代码颜色的方法
2017/12/15 Javascript
微信小程序ajax实现请求服务器数据及模版遍历数据功能示例
2017/12/15 Javascript
详解Vue.js 作用域、slot用法(单个slot、具名slot)
2019/10/15 Javascript
Vue 组件的挂载与父子组件的传值实例
2020/09/02 Javascript
Python的爬虫包Beautiful Soup中用正则表达式来搜索
2016/01/20 Python
Python用于学习重要算法的模块pygorithm实例浅析
2018/08/16 Python
python面向对象实现名片管理系统文件版
2019/04/26 Python
windows上安装python3教程以及环境变量配置详解
2019/07/18 Python
python判断自身是否正在运行的方法
2019/08/08 Python
浅谈Python2之汉字编码为unicode的问题(即类似\xc3\xa4)
2019/08/12 Python
Python Django 前后端分离 API的方法
2019/08/28 Python
使用python将最新的测试报告以附件的形式发到指定邮箱
2019/09/20 Python
浅谈matplotlib 绘制梯度下降求解过程
2020/07/12 Python
节省高达65%的城市景点费用:Go City
2019/07/06 全球购物
小学生感恩演讲稿
2014/04/25 职场文书
求职信怎么写范文
2014/05/26 职场文书
工伤事故赔偿协议书(标准)
2014/09/29 职场文书
MySQL悲观锁与乐观锁的实现方案
2021/11/02 MySQL