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 text,radio,checkbox,select操作实现代码
Jul 09 Javascript
js打印纸函数代码(递归)
Jun 18 Javascript
ajax 缓存 问题 requestheader
Aug 01 Javascript
Js放到HTML文件中的哪个位置有什么区别
Aug 21 Javascript
用js判断输入是否为中文的函数
Mar 10 Javascript
理解javascript回调函数
Dec 28 Javascript
Jquery和BigFileUpload实现大文件上传及进度条显示
Jun 27 Javascript
微信小程序 页面跳转及数据传递详解
Mar 14 Javascript
正则表达式基本语法及表单验证操作详解【基于JS】
Apr 07 Javascript
用纯Node.JS弹出Windows系统消息提示框实例(MessageBox)
May 17 Javascript
Vue axios与Go Frame后端框架的Options请求跨域问题详解
Mar 03 Javascript
微信小程序保存图片到相册权限设置
Apr 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
phpwind中的数据库操作类
2007/01/02 PHP
php 进度条实现代码
2009/03/10 PHP
thinkPHP多语言切换设置方法详解
2016/11/11 PHP
PHP匿名函数(闭包函数)详解
2019/03/22 PHP
laravel实现于语言包的完美切换方法
2019/09/29 PHP
IE bug table元素的innerHTML
2010/01/11 Javascript
Cookie 小记
2010/04/01 Javascript
在VS2008中使用jQuery智能感应的方法
2010/12/30 Javascript
JavaScript中为元素加上name属性的方法
2011/05/09 Javascript
window.event快达到全浏览器支持了,以后使用就方便了
2011/11/30 Javascript
Node.js开发指南中的简单实例(mysql版)
2013/09/17 Javascript
客户端js判断文件类型和文件大小即限制上传大小
2013/11/20 Javascript
js实现下拉列表选中某个值的方法(3种方法)
2015/12/17 Javascript
javascript运动效果实例总结(放大缩小、滑动淡入、滚动)
2016/01/08 Javascript
jquery分页插件jquery.pagination.js使用方法解析
2016/04/01 Javascript
Vue和Bootstrap的整合思路详解
2017/06/30 Javascript
从零开始学习搭建React脚手架项目
2018/08/23 Javascript
JavaScript进阶(一)变量声明提升实例分析
2020/05/09 Javascript
python监控网卡流量并使用graphite绘图的示例
2014/04/27 Python
Django Admin 实现外键过滤的方法
2017/09/29 Python
Python模块汇总(常用第三方库)
2019/10/07 Python
Python操作SQLite/MySQL/LMDB数据库的方法
2019/11/07 Python
Python数据可视化实现多种图例代码详解
2020/07/14 Python
CSS3中的常用选择器使用示例整理
2016/06/13 HTML / CSS
法国娇韵诗官方旗舰店:Clarins是来自法国的天然护肤品牌
2018/06/30 全球购物
澳大利亚女装精品店:Alannah Hill
2020/07/29 全球购物
大学生水文观测实习自我鉴定
2013/09/29 职场文书
大一自我鉴定范文
2013/10/04 职场文书
《尊严》教学反思
2014/02/11 职场文书
幼儿园优秀教师事迹
2014/02/13 职场文书
大学共青团员个人自我评价
2014/04/16 职场文书
毕业生就业推荐表导师评语
2014/12/31 职场文书
求职自荐信怎么写
2015/03/04 职场文书
2016年校园重阳节广播稿
2015/12/18 职场文书
SQL实现LeetCode(177.第N高薪水)
2021/08/04 MySQL
Android开发手册TextInputLayout样式使用示例
2022/06/10 Java/Android