jQuery 标题的自动翻转实现代码

 更新时间:2009年10月14日 17:32:39   作者:  
我们平时在开发web程序的时候,想把一个新闻源滚动显示新闻的条目的标题及内容摘要,而且是每次一条,有点类似csdn的滚动广告。
即一条新闻滚 进视图之后,会暂停几秒钟,然后继续向上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编写的,很不错,很适合初学者,国内其他的人写的,里面就鱼龙混杂了。

相关文章

  • 通过点击jqgrid表格弹出需要的表格数据

    通过点击jqgrid表格弹出需要的表格数据

    在众多的表格插件中,jqgrid的特点是非常鲜明的,所以jqgrid表格插件用处非常广泛,本篇文章给大家介绍通过点击jqgrid表格弹出需要的表格数据,需要的朋友参考下
    2015-12-12
  • 使用jquery.form.js实现图片上传的方法

    使用jquery.form.js实现图片上传的方法

    这篇文章主要介绍了使用jquery.form.js实现图片上传的方法,涉及jquery使用表单插件jquery.form.js进行图片上传的提交、类型验证、执行结果回调显示等技巧,非常简单实用,需要的朋友可以参考下
    2016-05-05
  • jQuery学习笔记 获取jQuery对象

    jQuery学习笔记 获取jQuery对象

    为了将Web的结构层和表现层、行为层彻底分离,就不应该在HTML标签上直接定义样式或事件等。这意味着要想设置页面中的某个元素,就需要先把这个元素选择出来,选择器正是解决这个问题的技术
    2012-09-09
  • jquery获取easyui日期控件的值实现方法

    jquery获取easyui日期控件的值实现方法

    下面小编就为大家带来一篇jquery获取easyui日期控件的值实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-11-11
  • 在Web项目中引入Jquery插件报错的完美解决方案(图解)

    在Web项目中引入Jquery插件报错的完美解决方案(图解)

    这篇文章主要介绍了在Web项目中引入Jquery插件报错的完美解决方案的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-09-09
  • jquery简单实现鼠标经过导航条改变背景图

    jquery简单实现鼠标经过导航条改变背景图

    鼠标经过导航条改变背景图的效果很是好看,下面为大家介绍下使用jquery是如何实现的,感兴趣的朋友可以参考下
    2013-12-12
  • 推荐40个非常优秀的jQuery插件和教程【系列三】

    推荐40个非常优秀的jQuery插件和教程【系列三】

    jQuery 在如今的 Web 开发项目中扮演着重要角色,jQuery 以其插件众多、独特、轻量以及支持大规模的网站开发闻名。本文大家分享40个实用的 jQuery 插件,可以根据您的项目需要来选择使用
    2011-11-11
  • jQuery 插件开发 其实很简单

    jQuery 插件开发 其实很简单

    jQuery已经被广泛使用,凭借其简洁的API,对DOM强大的操控性,易扩展性越来越受到web开发人员的喜爱,我在社区也发布了很多的jQuery插件
    2009-07-07
  • jQuery简单注册和禁用全局事件的方法

    jQuery简单注册和禁用全局事件的方法

    这篇文章主要介绍了jQuery简单注册和禁用全局事件的方法,结合实例形式分析了jQuery中ajaxStart与ajaxStop方法的使用技巧,需要的朋友可以参考下
    2016-07-07
  • bootstrap data与jquery .data

    bootstrap data与jquery .data

    最近在做项目的时候用到了bootstrap,在使用中发现其data与jquery的data有些不一样的地方,记录一下,分享给大家
    2014-07-07

最新评论