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 相关文章推荐
JavaScript入门之事件、cookie、定时等
Oct 21 Javascript
JAVASCRIPT车架号识别/验证函数代码 汽车车架号验证程序
Jan 08 Javascript
使用Grunt.js管理你项目的应用说明
Apr 24 Javascript
jQuery读取和设定KindEditor值的方法
Nov 22 Javascript
JavaScript两种跨域技术全面介绍
Apr 16 Javascript
JS动态添加Table的TR,TD实现方法
Jan 28 Javascript
jQuery经过一段时间自动隐藏指定元素的方法
Mar 17 Javascript
js实现简单的验证码
Dec 25 Javascript
javascript闭包概念简单解析(推荐)
Jun 03 Javascript
原生JS实现不断变化的标签
May 22 Javascript
微信小程序 页面跳转传值实现代码
Jul 27 Javascript
JS实现的简单分页功能示例
Aug 23 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
PHP常用处理静态操作类
2015/04/03 PHP
初识PHP中的Swoole
2016/04/05 PHP
PHP使用FFmpeg获取视频播放总时长与码率等信息
2016/09/13 PHP
jQueryPad 实用的jQuery测试工具(支持IE,chrome,FF)
2010/05/22 Javascript
javascript中使用css需要注意的地方小结
2010/09/01 Javascript
js中的异常处理try...catch使用介绍
2013/09/21 Javascript
Js参数值中含有单引号或双引号问题的解决方法
2013/11/06 Javascript
jQuery基于cookie实现的购物车实例分析
2015/12/24 Javascript
JS判断输入字符串长度实例代码(汉字算两个字符,字母数字算一个)
2016/08/02 Javascript
Javascript 两种刷新方法以及区别和适用范围
2017/01/17 Javascript
jQuery读取XML文件的方法示例
2017/02/03 Javascript
移动端刮刮乐的实现方式(js+HTML5)
2017/03/23 Javascript
js实现放大镜特效
2017/05/18 Javascript
jQuery选择器_动力节点Java学院整理
2017/07/05 jQuery
vue实现裁切图片同时实现放大、缩小、旋转功能
2018/03/02 Javascript
微信小程序常见页面跳转操作简单示例
2019/05/01 Javascript
JS/jQuery实现超简单的Table表格添加,删除行功能示例
2019/07/31 jQuery
Vue.extend 编程式插入组件的实现
2019/11/18 Javascript
详解vue-flickity的fullScreen功能实现
2020/04/07 Javascript
vue实现简易的双向数据绑定
2020/12/29 Vue.js
[37:37]DAC2018 4.4 淘汰赛 Optic vs Mineski 第二场
2018/04/05 DOTA
使用Python编写类UNIX系统的命令行工具的教程
2015/04/15 Python
python返回昨天日期的方法
2015/05/13 Python
Python中创建字典的几种方法总结(推荐)
2017/04/27 Python
python处理xml文件的方法小结
2017/05/02 Python
Python 生成 -1~1 之间的随机数矩阵方法
2018/08/04 Python
Python搭建代理IP池实现检测IP的方法
2019/10/27 Python
python保留格式汇总各部门excel内容的实现思路
2020/06/01 Python
python3将变量输入的简单实例
2020/08/19 Python
python实现canny边缘检测
2020/09/14 Python
用Python自动清理系统垃圾的实现
2021/01/18 Python
猎人靴英国官网:Hunter Boots
2017/02/02 全球购物
团代会主持词
2014/04/02 职场文书
党员承诺书范文
2014/05/19 职场文书
市场调查策划方案
2014/06/10 职场文书
Python Django ORM连表正反操作技巧
2021/06/13 Python