Jquery 设置标题的自动翻转
2009-10-03 00:00
411 查看
即一条新闻滚进视图之后,会暂停几秒钟,然后继续向上2滚动,淡出视图,同时,下一条新闻接着滚入视图。这次主要是用jquery来开发这个功能,里面肯定有许多不足之处,欢迎大家点评。
先粘贴一下代码,
我们来庖丁解牛一下这些代码,首先来看样式,因为我们一次只显示一条新闻记录,所以,我们应该把高度也设为一条记录的,在这里设为200px,而且如果超了的话,我们就自动隐藏起来overflow=hidden。在这里,数据源我们用的是feed.xml,Jquery加载并读取xml文件是很简单的,可以参考上面的写法,通过读取xml文件,取出数据,进行组装,就得到了要显示的html代码段并附加到#container中,同时,在滚动显示中,我们需要设置两个变量,一个用于记录当前可见的标题,另一个用于记录刚刚滚动出视图的标题。并且让当前的记录显示在最上方,一定要注意的是,位置不能为static。最后,就是写一个函数,每次自动调用记录的显示。jquery还有很多的插件,可以更加简化这些操作,以后多学习了。如果想学习jquery,个人推荐jquery基础教程,jonathan chaffer编写的,很不错,很适合初学者,国内其他的人写的,里面就鱼龙混杂了。
先粘贴一下代码,
<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编写的,很不错,很适合初学者,国内其他的人写的,里面就鱼龙混杂了。
相关文章推荐
- Jquery设置标题的自动翻转
- Jquery 设置标题的自动翻转
- Jquery设置标题的自动翻转
- jquery实现标题的自动翻转功能
- jQuery 标题的自动翻转实现代码
- jquery实现标题的自动翻转功能
- jQuery 标题的自动翻转实现代码
- jquery实现标题的自动翻转功能
- jquery实现标题的自动翻转功能
- 黄聪:jquery+Datatables出现数据过长,表格不自动换行,columns设置width失效的办法
- 自动设置iframe大小的jQuery代码
- spket插件安装并设置JQuery自动提示(转)
- Word2007设置标题序号与标题文字之间自动空一个字距
- word中设置标题自动编号
- 在MyEclipse8.6中设置jQuery自动提示
- Jquery如何序列化form表单数据为JSON对象 C# ADO.NET中设置Like模糊查询的参数 从客户端出现小于等于公式符号引发检测到有潜在危险的Request.Form 值 jquery调用iframe里面的方法 Js根据Ip地址自动判断是哪个城市 【我们一起写框架】MVVM的WPF框架(三)—数据控件 设计模式之简单工厂模式(C#语言描述)
- jquery.dataTables表格中的内容怎么设置让它不自动换行
- 使用jquery对输入框内容设置自动校验,只允许数字的输入
- SharePoint:扩展DVWP - 第22部分:jQuery实现基于其他字段自动创建标题
- C# Word 标题设置大纲级别和自动生成目录