Jquery 设置标题的自动翻转


Posted in Javascript onOctober 03, 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对象和DOM对象的相互转化实现代码
Mar 02 Javascript
js 动态文字滚动的例子
Jan 17 Javascript
玩转方法:call和apply
May 08 Javascript
完美兼容多浏览器的js判断图片路径代码汇总
Apr 17 Javascript
JS输出空格的简单实现方法
Sep 08 Javascript
vue双向数据绑定原理探究(附demo)
Jan 17 Javascript
让bootstrap的carousel支持滑动滚屏的实现代码
Nov 27 Javascript
Nuxt.js SSR与权限验证的实现
Nov 21 Javascript
vue实现div拖拽互换位置
Jul 29 Javascript
JavaScript中的ES6 Proxy的具体使用
Jun 16 Javascript
JavaScript图像放大镜效果实现方法详解
Jun 28 Javascript
微信小程序用户登录和登录态维护的实现
Dec 10 Javascript
点击下载链接 弹出页面实现代码
Oct 01 #Javascript
点击文章内容处弹出页面代码
Oct 01 #Javascript
js类的静态属性和实例属性的理解
Oct 01 #Javascript
XmlUtils JS操作XML工具类
Oct 01 #Javascript
PPK 谈 JavaScript 的 this 关键字 [翻译]
Sep 29 #Javascript
一个JS小玩意 几个属性相加不能超过一个特定值.
Sep 29 #Javascript
IE FF OPERA都可用的弹出层实现代码
Sep 29 #Javascript
You might like
PHP模拟post提交数据方法汇总
2016/02/16 PHP
ThinkPHP框架里隐藏index.php
2016/04/12 PHP
php抽奖概率算法(刮刮卡,大转盘)
2020/04/17 PHP
浅谈PHP中关于foreach使用引用变量的坑
2016/11/14 PHP
用JQuery 实现AJAX加载XML并解析的脚本
2009/07/25 Javascript
JavaScript 异步调用框架 (Part 4 - 链式调用)
2009/08/04 Javascript
JavaScript中SQL语句的应用实现
2010/05/04 Javascript
如何调试异步加载页面里包含的js文件
2014/10/30 Javascript
Javascript中this关键字的一些小知识
2015/03/15 Javascript
iscroll.js的上拉下拉刷新时无法回弹的解决方法
2016/02/18 Javascript
DWR中各种java方法的调用
2016/05/04 Javascript
jQuery1.9+中删除了live以后的替代方法
2016/06/17 Javascript
HTML5 JS压缩图片并获取图片BASE64编码上传
2020/11/16 Javascript
AngularJS ng-template寄宿方式用法分析
2016/11/07 Javascript
Vue.js实战之组件的进阶
2017/04/04 Javascript
webpack打包单页面如何引用的js
2017/06/07 Javascript
JS如何实现在页面上快速定位(锚点跳转问题)
2017/08/14 Javascript
React中jquery引用的实现方法
2017/09/12 jQuery
React项目动态设置title标题的方法示例
2018/09/26 Javascript
[04:52]DOTA2亚洲邀请赛附加赛 TOP10精彩集锦
2015/01/29 DOTA
Python随机生成一个6位的验证码代码分享
2015/03/24 Python
python实现多线程的方式及多条命令并发执行
2016/06/07 Python
一张图带我们入门Python基础教程
2017/02/05 Python
详解python之配置日志的几种方式
2017/05/22 Python
Scrapy框架实现的登录网站操作示例
2020/02/06 Python
python 实现控制鼠标键盘
2020/11/27 Python
地图可视化神器kepler.gl python接口的使用方法
2020/12/22 Python
英国伦敦的睡衣品牌:Asceno
2019/10/06 全球购物
New Balance俄罗斯官方网上商店:购买运动鞋
2020/03/02 全球购物
Servlet如何得到客户端机器的信息
2014/10/17 面试题
CSS实现fullpage.js全屏滚动效果的示例代码
2021/03/24 HTML / CSS
文明演讲稿范文
2014/05/12 职场文书
班主任工作经验交流材料
2014/05/13 职场文书
2015暑期爱心支教策划书
2015/07/14 职场文书
2015年秋季学校开学标语
2015/07/16 职场文书
彻底解决MySQL使用中文乱码的方法
2022/01/22 MySQL