利用JQuery一步步打造无缝滚动新闻

    首先,我们这里有这么一段html代码,很简洁,如下所示:

1 <div id="tag">
2 <ul>
3 <li>你说我是好人吗,我是好人啊</li>
4 <li>哈哈,我真的不知道说什么了</li>
5 <li>生活就是应该平淡的</li>
6 <li>像上学一样的工作</li>
7 </ul>
8 </div>

   然后我们要做的就是使它无缝滚动。

首先我们引入进入JQuery,并且获取到li元素列表中的第一个元素中的内容

这里我们使用的是clone()方法来获取,然后显示其内容:

代码
1 <script type="text/javascript" src="jquery-1.3.2.min.js"></script>
2 <script type="text/javascript">
3 $(document).ready(function(){
4     $('#tag li').eq(0).click(function(){
5       alert($(this).clone().text());   //显示的结果是“你说我是好人吗,我是好人啊” 代表是第一个li元素的文本内容  
6 });
7 </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>

其实,一步一步的来,最终会得到结果的

原文地址:https://www.cnblogs.com/scy251147/p/1796535.html