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 相关文章推荐
JavaScript中的this实例分析
Apr 28 Javascript
面向对象设计模式的核心法则
Nov 10 Javascript
JS脚本根据手机浏览器类型跳转WAP手机网站(两种方式)
Aug 04 Javascript
JS表格组件神器bootstrap table详解(基础版)
Dec 08 Javascript
基于jQuery实现仿搜狐辩论投票动画代码(附源码下载)
Feb 18 Javascript
js操作XML文件的实现方法兼容IE与FireFox
Jun 25 Javascript
前端 Vue.js 和 MVVM 详细介绍
Dec 29 Javascript
angular框架实现全选与单选chekbox的自定义
Jul 06 Javascript
vue.js实例todoList项目
Jul 07 Javascript
vue2.0 循环遍历加载不同图片的方法
Mar 06 Javascript
zepto.js 实时监听输入框的方法
Dec 04 Javascript
layui点击左侧导航栏,实现不刷新整个页面,只刷新局部的方法
Sep 25 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生成略缩图代码
2012/07/16 PHP
php制作中间带自己定义图片二维码的方法
2014/01/27 PHP
简单概括PHP的字符串中单引号与双引号的区别
2016/05/07 PHP
ext form 表单提交数据的方法小结
2008/08/08 Javascript
关于ExtJS4.1:快捷键支持的问题
2013/04/24 Javascript
探寻Javascript执行效率问题
2014/11/12 Javascript
js判断图片加载完成后获取图片实际宽高的方法
2016/02/25 Javascript
AngularJS ng-repeat数组有重复值的解决方法
2016/10/23 Javascript
JavaScript BASE64算法实现(完美解决中文乱码)
2017/01/10 Javascript
Javascript 实现匿名递归的实例代码
2017/05/25 Javascript
jQuery 利用ztree实现树形表格的实例代码
2017/09/27 jQuery
JavaScript中常用的简洁高级技巧总结
2019/03/10 Javascript
layui 弹出层回调获取弹出层数据的例子
2019/09/02 Javascript
vue中touch和click共存的解决方式
2020/07/28 Javascript
[04:45]上海特级锦标赛主赛事第三日TOP10
2016/03/05 DOTA
python33 urllib2使用方法细节讲解
2013/12/03 Python
Python Numpy数组扩展repeat和tile使用实例解析
2019/12/09 Python
Python换行与不换行的输出实例
2020/02/19 Python
浅谈Python中的异常和JSON读写数据的实现
2020/02/27 Python
Python xlrd excel文件操作代码实例
2020/03/10 Python
TensorFlow的reshape操作 tf.reshape的实现
2020/04/19 Python
Python在centos7.6上安装python3.9的详细教程(默认python版本为2.7.5)
2020/10/15 Python
python解压zip包中文乱码解决方法
2020/11/27 Python
Html5元素及基本语法详解
2016/08/02 HTML / CSS
Linux开机引导的步骤是什么
2014/02/26 面试题
教育科学研究生自荐信
2013/10/09 职场文书
我未来的职业规划范文
2014/01/11 职场文书
在校硕士自我鉴定
2014/01/23 职场文书
劳动实践课感言
2014/02/01 职场文书
运动会广播稿100字
2014/09/14 职场文书
银行业务授权委托书
2014/10/10 职场文书
玩手机检讨书1000字
2014/10/20 职场文书
建党伟业观后感
2015/06/01 职场文书
2020年元旦晚会策划书模板
2019/12/30 职场文书
Golang 并发下的问题定位及解决方案
2022/03/16 Golang
vue如何在data中引入图片的正确路径
2022/06/05 Vue.js