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 相关文章推荐
get(0).tagName获得作用标签示例代码
Oct 08 Javascript
jQuery中的pushStack实现原理和应用实例
Feb 03 Javascript
JS制作简单的三级联动
Mar 18 Javascript
JavaScript中数据结构与算法(五):经典KMP算法
Jun 19 Javascript
angular 基于ng-messages的表单验证实例
May 04 Javascript
JavaScript事件方法(实例讲解)
Jun 27 Javascript
解决vue打包css文件中背景图片的路径问题
Sep 03 Javascript
JS数组求和的常用方法实例小结
Jan 07 Javascript
Node登录权限验证token验证实现的方法示例
May 25 Javascript
解决vuex数据页面刷新后初始化操作
Jul 26 Javascript
如何利用JavaScript编写更好的条件语句详解
Aug 10 Javascript
Javascript类型判断相关例题及解析
Aug 26 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入门学习知识点四 PHP正则表达式基本应用
2011/07/14 PHP
PHP jQuery表单,带验证具体实现方法
2014/02/15 PHP
PHP使用Mysqli类库实现完美分页效果的方法
2016/04/07 PHP
微信支付开发告警通知实例
2016/07/12 PHP
JS俄罗斯方块,包含完整的设计理念
2010/12/11 Javascript
Javascript的各种节点操作实例演示代码
2012/06/27 Javascript
获取客户端网卡MAC地址和IP地址实现JS代码
2013/03/17 Javascript
一个简单的弹性返回顶部JS代码实现介绍
2013/06/09 Javascript
JavaScript sub方法入门实例(把字符串显示为下标)
2014/10/17 Javascript
了不起的node.js读书笔记之例程分析
2014/12/22 Javascript
对JavaScript客户端应用编程的一些建议
2015/06/24 Javascript
js实现select下拉框菜单
2015/12/08 Javascript
bootstrapfileinput实现文件自动上传
2016/11/08 Javascript
sea.js常用的api简易文档
2016/11/15 Javascript
关于JS Lodop打印插件打印Bootstrap样式错乱问题的解决方案
2016/12/23 Javascript
jQuery密码强度验证控件使用详解
2017/01/05 Javascript
Express之get,pos请求参数的获取
2017/05/02 Javascript
jqgrid实现简单的单行编辑功能
2017/09/30 Javascript
jQuery基于cookie实现换肤功能实例
2017/10/14 jQuery
js实现文件上传功能 后台使用MultipartFile
2018/09/08 Javascript
小程序getLocation需要在app.json中声明permission字段
2019/04/04 Javascript
vue 中使用 watch 出现了如下的报错的原因分析
2019/05/21 Javascript
node基于async/await对mysql进行封装
2019/06/20 Javascript
Python中的zip函数使用示例
2015/01/29 Python
简单易懂的python环境安装教程
2017/07/13 Python
浅谈django的render函数的参数问题
2018/10/16 Python
Python学习笔记之图片人脸检测识别实例教程
2019/03/06 Python
python pytest进阶之fixture详解
2019/06/27 Python
使用python批量修改文件名的方法(视频合并时)
2020/03/24 Python
苏宁红孩子母婴商城:redbaby
2017/02/12 全球购物
微软中国官方商城:Microsoft Store中国
2018/10/12 全球购物
Dogeared官网:在美国手工制作的珠宝
2019/08/24 全球购物
房地产销售计划书
2014/01/10 职场文书
开展批评与自我批评发言稿
2014/10/16 职场文书
辞职信范文大全
2015/03/02 职场文书
让JavaScript代码更加精简的方法技巧
2022/06/01 Javascript