Posted in Javascript onMarch 31, 2016
本文实例讲述了基于JQuery打造无缝滚动新闻的方法。分享给大家供大家参考,具体如下:
首先,我们这里有这么一段html代码,很简洁,如下所示:
<ul> <li>你说我是好人吗,我是好人啊</li> <li>哈哈,我真的不知道说什么了</li> <li>生活就是应该平淡的</li> <li>像上学一样的工作</li> </ul> </div>
然后我们要做的就是使它无缝滚动。
首先我们引入进入JQuery,并且获取到li元素列表中的第一个元素中的内容
这里我们使用的是clone()方法来获取,然后显示其内容:
<script type="text/javascript" src="jquery-1.3.2.min.js"></script> <script type="text/javascript"> $(document).ready(function(){ $('#tag li').eq(0).click(function(){ alert($(this).clone().text()); //显示的结果是“你说我是好人吗,我是好人啊” 代表是第一个li元素的文本内容 }); </script>
然后就是显示所有的li元素的列表内容,这里我们利用parent()方法来获取所有li元素的列表内容:
<script type="text/javascript"> $(document).ready(function(){ $('#tag li').eq(0).fadeOut("slow",function(){ //alert($(this).clone().text());// 显示的结果是“你说我是好人吗,我是好人啊” 代表是第一个li元素的文本内容 alert($(this).parent().text());// 显示的结果是四个li元素之间的内容 }); </script>
接下来要做的就是将获取到的第一条li元素中的内容追加到所有li元素列表内容的后面:
<script type="text/javascript"> $(document).ready(function(){ $('#tag li').eq(0).fadeOut("slow",function(){ //alert($(this).clone().text()); 显示的结果是“你说我是好人吗,我是好人啊” 代表是第一个li元素的文本内容 //alert($(this).parent().text()); 显示的结果是四个li元素之间的内容 $(this).clone().appendTo($(this).parent()); //可以看到页面中第一个li元素被自动添加到了第四个li元素的末尾 }); </script>
接到上面,继续要做的就是让第一个li元素给隐藏掉,做法如下:
<script type="text/javascript"> $(document).ready(function(){ $('#tag li').eq(0).fadeOut("slow",function(){ //alert($(this).clone().text()); 显示的结果是“你说我是好人吗,我是好人啊” 代表是第一个li元素的文本内容 //alert($(this).parent().text()); 显示的结果是四个li元素之间的内容 // alert($(this).clone().appendTo($(this).parent()).text()); 可以看到页面中第一个li元素被自动添加到了第四个li元素的末尾 $(this).clone().appendTo($(this).parent()).fadeIn("slow"); }); }); </script>
最后利用setInterval('scroll_news()',1000);反复调用即可
最终完整代码如下:
<script type="text/javascript"> function scrollNews(){ $(document).ready(function(){ $('#tag li').eq(0).fadeOut("slow",function(){ $(this).clone().appendTo($(this).parent()).fadeIn("slow"); $(this).remove(); }); }); } setInterval('scrollNews()',1000); </script>
其实,一步一步的来,最终会得到结果的
希望本文所述对大家jQuery程序设计有所帮助。
基于JQuery打造无缝滚动新闻步骤详解
- Author -
程序诗人声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@