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


Posted in Javascript onOctober 14, 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 中关于CSS操作部分使用说明
Jun 10 Javascript
javascript vvorld 在线加密破解方法
Nov 13 Javascript
简介JavaScript中toUpperCase()方法的使用
Jun 06 Javascript
详解Bootstrap glyphicons字体图标
Jan 04 Javascript
利用ECharts.js画K线图的方法示例
Jan 10 Javascript
详解vuex的简单使用
Mar 12 Javascript
Angular 封装并发布组件的方法示例
Apr 19 Javascript
jQuery操作cookie的示例代码
Jun 05 jQuery
浅谈javascript错误处理
Aug 11 Javascript
javascript数组的定义及操作实例
Nov 10 Javascript
js仿360开机效果
Dec 26 Javascript
Element实现表格嵌套、多个表格共用一个表头的方法
May 09 Javascript
JavaScript 替换Html标签实现代码
Oct 14 #Javascript
JavaScript null和undefined区别分析
Oct 14 #Javascript
JavaScript iframe的相互操作浅析
Oct 14 #Javascript
使用jQuery简化Ajax开发 Ajax开发入门
Oct 14 #Javascript
jQuery技巧大放送 学习jquery的朋友可以看下
Oct 14 #Javascript
JS+XML 省份和城市之间的联动实现代码
Oct 14 #Javascript
jquery 常用操作整理 基础入门篇
Oct 14 #Javascript
You might like
使用 php4 加速 web 传输
2006/10/09 PHP
如何提高MYSQL数据库的查询统计速度 select 索引应用
2007/04/11 PHP
php cookie的操作实现代码(登录)
2010/12/29 PHP
PHP substr 截取字符串出现乱码问题解决方法[utf8与gb2312]
2011/12/16 PHP
支持中文字母数字、自定义字体php验证码代码
2012/02/27 PHP
教你php如何实现验证码
2016/01/20 PHP
关于PHP内置的字符串处理函数详解
2017/02/04 PHP
dojo随手记 gird组件引用
2011/02/24 Javascript
Javascript setInterval的两种调用方法(实例讲解)
2013/11/29 Javascript
js实现滚动条滚动到页面底部继续加载
2015/12/19 Javascript
详解js中class的多种函数封装方法
2016/01/03 Javascript
javascript中FOREACH数组方法使用示例
2016/03/01 Javascript
学习Bootstrap滚动监听 附调用方法
2016/07/02 Javascript
JS实现探测网站链接的方法【测试可用】
2016/11/08 Javascript
JS实现搜索框文字可删除功能
2016/12/28 Javascript
ES6教程之for循环和Map,Set用法分析
2017/04/10 Javascript
vue 实现 ios 原生picker 效果及实现思路解析
2017/12/06 Javascript
Vue.js 无限滚动列表性能优化方案
2019/12/02 Javascript
openlayers 3实现车辆轨迹回放
2020/09/24 Javascript
vue组件中节流函数的失效的原因和解决方法
2020/12/02 Vue.js
简单介绍Python中的struct模块
2015/04/28 Python
python条件变量之生产者与消费者操作实例分析
2017/03/22 Python
python实现决策树、随机森林的简单原理
2018/03/26 Python
DRF跨域后端解决之django-cors-headers的使用
2019/01/27 Python
Python bisect模块原理及常见实例
2020/06/17 Python
Python select及selectors模块概念用法详解
2020/06/22 Python
Matplotlib 绘制饼图解决文字重叠的方法
2020/07/24 Python
澳大利亚时尚前卫设计师珠宝在线:Amber Sceats
2017/10/04 全球购物
德国咖啡批发商:Coffeefair
2019/08/26 全球购物
仓库管理专业个人自我评价范文
2013/11/11 职场文书
学习决心书
2014/03/11 职场文书
创建青年文明号材料
2014/05/09 职场文书
课堂打架检讨书200字
2014/11/21 职场文书
WebRTC记录音视频流(web技术分享)
2022/02/24 Javascript
SQL SERVER中的流程控制语句
2022/05/25 SQL Server
python缺失值填充方法示例代码
2022/12/24 Python