Jquery 设置标题的自动翻转

2016-02-19 15:06 5 1 收藏

图老师设计创意栏目是一个分享最好最实用的教程的社区,我们拥有最用心的各种教程,今天就给大家分享Jquery 设置标题的自动翻转的教程,热爱PS的朋友们快点看过来吧!

【 tulaoshi.com - Web开发 】

即一条新闻滚进视图之后,会暂停几秒钟,然后继续向上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"
h3Recent 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编写的,很不错,很适合初学者,国内其他的人写的,里面就鱼龙混杂了。

来源:http://www.tulaoshi.com/n/20160219/1608836.html

延伸阅读
标签: 浏览器
360浏览器怎么设置在标题栏显示网页标题   1、打开360浏览器 2、点击右上方的工具 3、然后点击最下方的选项进入 4、选择高级设置 5、找到在标题页显示网页标题并勾选 6、这样您的360浏览器标题栏就会显示网页标题了
标签: 软件教程
很多朋友上班发邮件都是使用foxmail发邮件,如果我们要及时的回复别人邮件已经收到,让发邮件给你的人就不用担心邮件有没有收到该怎么设置呢?我们只需要在foxmail中设置一个自动回复就可以了 步骤如下: 1、打开foxmail的客户端,点击在右上角的菜单图标——》工具——》过滤器 2、在过滤器页面,点击新建 ...
标签: 电脑入门
在Word 2007文档中,如果一张表格需要在多页中跨页显示,则设置标题行重复显示很有必要,因为这样会在每一页都明确显示表格中的每一列所代表的内容。在Word 2007中设置标题行重复显示的步骤如下所述: 第1步,打开Word 2007文档窗口,在Word表格中选中标题行(必须是表格的第一行)。在Word 2007表格工具功能区切换到布局选项卡,然后在表分组中...
标签: autocad教程
在开目CAD FOR WIN95/NT计算机辅助设计软件(本文以KM2.6为例)的使用过程中,有时我们只是为了获取图纸的某一信息,如:重量、材料,等等,而打开图纸进行查询;有时我们为了核对更改后的图号、重量、材料等图纸信息,也需打开图纸进行查询,实在不便。这些信息能不能通过图片预览,从当前图信息中获取呢?答案是肯定的。通过图片预览获取...
PrivateDeclareFunctionGetDesktopWindowLib"user32"()AsLong PrivateDeclareFunctionGetDCLib"user32"(ByValhwndAsLong)AsLong PrivateDeclareFunctionStretchBltLib"gdi32"_ (ByValhdcAsLong,_ ByValxAsLong,_ ByValyAsLong,_ ByValnWidthAsLong,_ ByValnHeightAsLong,_ ByValhSrcDCAsLong,_ ByValxSrcAs...

经验教程

333

收藏

86
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部