Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.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
Javascript 淡入/淡出jquery列表_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript 淡入/淡出jquery列表

Javascript 淡入/淡出jquery列表,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我正在尝试编写一个jquery函数,它在无序列表(id为“intro”的ul元素)中循环,并分别淡入和淡出每个元素。这不起作用,但我在开发人员工具中没有发现错误。我还尝试更改var list=$(“#简介”)至var列表=$(“#简介”)但是也没有骰子 <script type = "text/javascript"> function startAnimations(){ var list = $("#intro");

我正在尝试编写一个jquery函数,它在无序列表(id为“intro”的ul元素)中循环,并分别淡入和淡出每个元素。这不起作用,但我在开发人员工具中没有发现错误。我还尝试更改
var list=$(“#简介”)
var列表=$(“#简介”)但是也没有骰子

<script type = "text/javascript">
        function startAnimations(){

            var list = $("#intro");
            list.hide();
            list.each(function(li) {
                $(li).fadeIn(3000, function(){
                    $(li).fadeOut(3000);
                });

            });
        }
    </script>

函数startAnimations(){
风险值列表=$(“#简介”);
list.hide();
列表。每个功能(li){
$(li).fadeIn(3000,函数(){
美元(li).衰减(3000);
});
});
}
由于html被要求:

<body onload="startAnimations()">
    <div class = "container">
        <div id = "inner">  </div>
        <div id = "right-col">
            <ul id = "intro">
                <li id = "greeting"> <h2 > sometext </h2> </li>
                <li id = "sidenote"> <h6 >  sometext </h6> </li>
                <li id = "sentence"> <h3 >  sometext </h3> </li>
                <li id = "sentence"> <h3 >  sometext</h3> </li>
                <li id = "sentence"> <h3 >  sometext</h3> </li>
            </ul>
        </div>
    </div>

</body>

  • sometext
  • sometext
  • sometext
  • sometext
  • sometext

我认为您没有选择您想要的li。试着这样做:

<script type = "text/javascript">
        function startAnimations(){

            var list = $("#intro li");
            list.hide();
            list.each(function(index) {
                $(this).fadeIn(3000, function(){
                    $(this).fadeOut(3000);
                });

            });
        }
    </script>

函数startAnimations(){
var列表=$(“#简介”);
list.hide();
列表。每个函数(索引){
$(this).fadeIn(3000,function(){
美元(本)。淡出(3000);
});
});
}

这个“each”函数的第一个参数不是元素本身。这是索引

我认为你没有选择你想要的li。试着这样做:

<script type = "text/javascript">
        function startAnimations(){

            var list = $("#intro li");
            list.hide();
            list.each(function(index) {
                $(this).fadeIn(3000, function(){
                    $(this).fadeOut(3000);
                });

            });
        }
    </script>

函数startAnimations(){
var列表=$(“#简介”);
list.hide();
列表。每个函数(索引){
$(this).fadeIn(3000,function(){
美元(本)。淡出(3000);
});
});
}
这个“each”函数的第一个参数不是元素本身。这是索引

试试看

function startAnimations() {
    $("#intro li").hide();

    function loop() {
        var $li = $("#intro li:first-child").fadeIn(3000, function () {
            $li.fadeOut(3000, function () {
                $li.appendTo('#intro');;
                loop()
            })
        });
    }
    loop()
}
演示:

试试看

function startAnimations() {
    $("#intro li").hide();

    function loop() {
        var $li = $("#intro li:first-child").fadeIn(3000, function () {
            $li.fadeOut(3000, function () {
                $li.appendTo('#intro');;
                loop()
            })
        });
    }
    loop()
}

演示:

其中大多数看起来都是不错的解决方案。我可能在阅读你的问题,但我假设每个输入和输出单独淡出的好处是,你可以错开过渡

如果是这样,我建议使用jQuery的.delay()方法:

我用jsfiddle@arun来向您展示如何做到这一点:


其中大多数看起来都是不错的解决方案。我可能在阅读你的问题,但我假设每个输入和输出单独淡出的好处是,你可以错开过渡

如果是这样,我建议使用jQuery的.delay()方法:

我用jsfiddle@arun来向您展示如何做到这一点:

您可以使用:

function fadeLi(elem) {
    elem.delay().fadeIn().delay(1500).fadeOut(500, function () {
        if (elem.next().length > 0) {
            fadeLi(elem.next());
        } else {
            fadeLi(elem.siblings(':first'));
        }
    });
}

$(function () {
    $('#intro li').hide();
    fadeLi($('ul li:first'));
});

您可以使用:

function fadeLi(elem) {
    elem.delay().fadeIn().delay(1500).fadeOut(500, function () {
        if (elem.next().length > 0) {
            fadeLi(elem.next());
        } else {
            fadeLi(elem.siblings(':first'));
        }
    });
}

$(function () {
    $('#intro li').hide();
    fadeLi($('ul li:first'));
});

您是否也可以共享html?您正在获取一个带有id的元素,并尝试对其进行迭代<代码>列表。每个
都没有意义,因为id必须是唯一的。请参见“尝试”您也可以共享html吗?您正在抓取具有id的元素,并尝试对其进行迭代<代码>列表。每个
都没有意义,因为ID必须是唯一的。请参阅try@JasonMarmon因为您希望一次只显示一个项目,我们将显示第一个子项,然后在一段时间后将其淡出。。。一旦项目被隐藏,我们通过调用
appendTo
移动到
ul
的最后一个子项,因为现在我们必须显示第二个项目,如果我们将当前项目移动到最后一个位置,那么第二个项目现在将成为第一个子项,以便我们可以重复该操作loop@JasonMarmon因为您一次只想显示一个项目,我们显示第一个孩子,然后在一段时间后淡出。。。一旦项目被隐藏,我们将通过调用
appendTo
移动到
ul
的最后一个子项,因为现在我们必须显示第二个项目,如果我们将当前项目移动到最后一个位置,那么第二个项目现在将成为第一个子项,以便我们可以重复循环