Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 如何实现淡入/淡出更改文本行?_Jquery_Html - Fatal编程技术网

Jquery 如何实现淡入/淡出更改文本行?

Jquery 如何实现淡入/淡出更改文本行?,jquery,html,Jquery,Html,我正试图做这里所说明的事情:但因为我不在我的舒适区内,没有详细说明的部分正在阻止我自己实现它。具体来说,我需要知道Jquery包含的内容是什么,如何插入Javascript,以及如何调用它。让我告诉你我现在在猜测什么 我在文件的开头加上: <script type="text/javascript" src="js/jquery-1.3.1.min.js"></script> 我有这个文件的本地副本,它可以与其他元素一起工作-测试,所以上面的内容看起来不错 在JSF

我正试图做这里所说明的事情:但因为我不在我的舒适区内,没有详细说明的部分正在阻止我自己实现它。具体来说,我需要知道Jquery包含的内容是什么,如何插入Javascript,以及如何调用它。让我告诉你我现在在猜测什么

我在文件的开头加上:

<script type="text/javascript" src="js/jquery-1.3.1.min.js"></script>

我有这个文件的本地副本,它可以与其他元素一起工作-测试,所以上面的内容看起来不错

在JSFIDLE站点上提供的Javascript中,我添加了:

<script type="text/javascript">
.
.
.
</script>

.
.
.
因此,从字面上讲,我的页面主体包含:

    <script type="text/javascript">
var terms = ["term 1", "term 2", "term 3"];

function rotateTerm() {
  var ct = $("#rotate").data("term") || 0;
  $("#rotate").data("term", ct == terms.length -1 ? 0 : ct + 1).text(terms[ct]).fadeIn()
              .delay(2000).fadeOut(200, rotateTerm);
}
$(rotateTerm);
</script>
  <p>Here is a sentence <span id="rotate">this</span> is what changes</p>

var术语=[“术语1”、“术语2”、“术语3”];
函数旋转计(){
var ct=$(“旋转”)。数据(“术语”)| 0;
$(“#旋转”).data(“term”,ct==terms.length-1?0:ct+1).text(terms[ct]).fadeIn()
延迟(2000)。衰减(200,旋转计);
}
$(旋转计);
最后我的猜测是用一具尸体来称呼它:

<body onload="rotateTerm()">

当然,HTML正文包含:

    <script type="text/javascript">
var terms = ["term 1", "term 2", "term 3"];

function rotateTerm() {
  var ct = $("#rotate").data("term") || 0;
  $("#rotate").data("term", ct == terms.length -1 ? 0 : ct + 1).text(terms[ct]).fadeIn()
              .delay(2000).fadeOut(200, rotateTerm);
}
$(rotateTerm);
</script>
  <p>Here is a sentence <span id="rotate">this</span> is what changes</p>
这里有一句话,这就是变化

因此,我尽可能地(我认为)遵循这个例子。发生的情况是页面呈现 这里有一个句子:术语2是变化的内容 没有衰减的上升或下降,它不会显示“this”、“term 1”或“term 3”,尽管看起来“term1”在毫秒内就过去了

我做错了什么?在这里握一只小手可以走很长的路


谢谢你的期待

我不确定我是否正确理解了你的问题,但如果一份文件就是你想要的,那就这样吧:

<!DOCTYPE html>
<html>
  <head>
  </head>
  <body>
    <p>Here is a sentence <span id="rotate">this</span> is what changes</p>

    <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <script>
      var terms = ["term 1", "term 2", "term 3"];

      function rotateTerm() {
        var ct = $("#rotate").data("term") || 0;
        $("#rotate").data("term", ct == terms.length -1 ? 0 : ct + 1).text(terms[ct]).fadeIn()
                    .delay(2000).fadeOut(200, rotateTerm);
      }
      // Not needed anymore as the DOM is ready at this point
      // $(rotateTerm);
      // just call the function directly
      rotateTerm();
    </script>
  </body>
</html>

这里有一句话这是什么变化

var术语=[“术语1”、“术语2”、“术语3”]; 函数旋转计(){ var ct=$(“旋转”)。数据(“术语”)| 0; $(“#旋转”).data(“term”,ct==terms.length-1?0:ct+1).text(terms[ct]).fadeIn() 延迟(2000)。衰减(200,旋转计); } //不再需要了,因为DOM已经准备好了 //$(旋转计); //直接调用函数即可 旋转计();
就我个人而言,我会做完全不同的脚本,尤其是数据存储是不必要的imho。
你需要解释一下代码吗?

我写了一篇演练,解释了你的小提琴在做什么:。既然如此不赞成只链接的答案,这里有一个快速而肮脏的解决方案

像这样包括jQuery,就在结束标记之前。请注意,您使用的是jQuery1.3.1,其中包括jQuery1.11.0。我建议您尽可能使用最新版本的jQuery,因为它会有更少的bug和更多的功能:

    <script src="//code.jquery.com/jquery-1.11.0.min.js"></script>

在包含jQuery之后立即包含脚本:

    <script>

var terms = ["term 1", "term 2", "term 3"];

function rotateTerm() {
    var ct = $("#rotate").data("term") || 0;
    $("#rotate").data("term", ct == terms.length -1 ? 0 : ct + 1).text(terms[ct]).fadeIn()
          .delay(2000).fadeOut(200, rotateTerm);
}
$(rotateTerm);

    </script>

var术语=[“术语1”、“术语2”、“术语3”];
函数旋转计(){
var ct=$(“旋转”)。数据(“术语”)| 0;
$(“#旋转”).data(“term”,ct==terms.length-1?0:ct+1).text(terms[ct]).fadeIn()
延迟(2000)。衰减(200,旋转计);
}
$(旋转计);
您不需要
-多亏了jQuery,脚本将尽快运行。

和的答案都是正确的,因为两个答案使用的jQuery版本都高于您的问题(请参阅):


这里有一句话这是什么变化

var术语=[“术语1”、“术语2”、“术语3”]; 函数旋转计(){ var ct=$(“#rotate”).data(“term”)| | 0;//获取当前项,如果没有当前项,则默认为0 $(“#rotate”)//查找id=“rotate”(span)的元素 .data(“term”,ct==terms.length-1?0:ct+1)//存储下一个term,根据需要循环到数组的开头 .text(术语[ct])//设置跨度的文本 .fadeIn()//将元素从完全透明淡入
.delay(2000)//等待2秒我已经用CSS动画完成了。你可以试试这个

<!DOCTYPE html>
<html>
<head>
    <style>
        #rotate{animation: fadeIn 2s infinite;}
        @keyframes fadeIn{
            from {opacity: 0;}
            to {opacity: 1;}
        } 
    </style>
</head>
<body>
    <p>Here is a sentence <span id="rotate">this</span> is what changes</p>

    <script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
    <script type="text/javascript">
    $(document).ready(function(){
        var terms = ["term 1", "term 2", "term 3"];
        var count = 0;
        function setText(){
            $("#rotate").text(terms[count]);
            count++;
            if(count>=terms.length){
                count=0;
            }
        }
        var callFunction = setInterval(setText,2000);
        setText();
    });
    </script>
</body>
</html>

#旋转{动画:fadeIn 2s无限;}
@关键帧淡入淡出{
从{opacity:0;}
到{opacity:1;}
} 
这里有一句话这是什么变化

$(文档).ready(函数(){ var术语=[“术语1”、“术语2”、“术语3”]; var计数=0; 函数setText(){ $(“#旋转”).text(术语[计数]); 计数++; 如果(计数>=术语长度){ 计数=0; } } var callFunction=setInterval(setText,2000); setText(); });
jQuery版本,与Frank Anderson所寻求的效果相同

<!DOCTYPE html>
<html>
<head>
</head>
<body>
    <p>Here is a sentence <span id="rotate">this</span> is what changes</p>
    <script src="http://code.jquery.com/jquery-2.1.1.min.js"></script>
    <script type="text/javascript">
     $(document).ready(function(){
        var terms = ["term 1", "term 2", "term 3"];
        var count = 0;
        function setText(){
            $("#rotate").text(terms[count]).animate({opacity: 0}, 1000, function() {
                $(this).animate({opacity:1},1000);
                setText();
            });
            count++;
            if(count>=terms.length){
                count=0;
            }
        }
     setText();
    });
    </script>
</body>
</html>

这里有一句话这是什么变化

$(文档).ready(函数(){ var术语=[“术语1”、“术语2”、“术语3”]; var计数=0; 函数setText(){ $(“#旋转”).text(术语[count]).animate({opacity:0},1000,function(){ 设置动画({opacity:1},1000); setText(); }); 计数++; 如果(计数>=术语长度){ 计数=0; } } setText(); });
您的函数在哪里
defined?此处包含的javascript似乎是用于其他用途。请尝试将您的代码放入JSFIDLE并与他人共享。谢谢大家-很抱歉造成混淆。我已经很久没有睡觉了,我粘贴了一段不相关的代码,现在我已经更正了。感谢您的耐心。您能做一个小提琴演示吗你的代码有问题吗?也许当你自己这么做的时候,你会发现问题:)嗨。我刚刚建立了一个JFIDLE帐户,试图按照你的要求去做。我发现JFIDLE试图强迫我