Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/472.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 fadeIn不持久_Javascript_Jquery_Setinterval_Fadein_Fadeout - Fatal编程技术网

Javascript 用于淡出的回调中的Jquery fadeIn不持久

Javascript 用于淡出的回调中的Jquery fadeIn不持久,javascript,jquery,setinterval,fadein,fadeout,Javascript,Jquery,Setinterval,Fadein,Fadeout,希望有人能为我解释一下这个问题。。。。我正在使用setInterval在网页上交替显示标题。它淡出上一个函数,然后在回调函数中淡出新函数。它以前工作得很好,但是我把回调函数和淡出函数分开了,因为我想一开始就毫不拖延地运行它,现在我得到了最初的标题,但是当需要更改时,它们会在一瞬间淡入,然后再次消失 function processSidebar(data) { var headlines = $.parseJSON(data); va

希望有人能为我解释一下这个问题。。。。我正在使用setInterval在网页上交替显示标题。它淡出上一个函数,然后在回调函数中淡出新函数。它以前工作得很好,但是我把回调函数和淡出函数分开了,因为我想一开始就毫不拖延地运行它,现在我得到了最初的标题,但是当需要更改时,它们会在一瞬间淡入,然后再次消失

       function processSidebar(data) {
            var headlines = $.parseJSON(data);
            var sIndex = 0;

            function newSidebar(surl, sIndex) {
                $(".sidebar").html(headlines[sIndex].date + '<br><a href="' + surl + '">' + headlines[sIndex].line + '</a>');
                $(".sidebar").fadeIn(400);
            }
            newSidebar("getme.php?blog=1&headline=1", sIndex);

            setInterval(function() {
                ++sIndex;
                if (sIndex == headlines.length) {sIndex = 0}
                var surl="getme.php?blog=1&headline=" + headlines[sIndex].index;
                $(".sidebar").fadeOut(400,newSidebar(surl,sIndex));
            }, 10000); // end setInterval

        }; // end processSidebar
函数处理侧栏(数据){
var headlines=$.parseJSON(数据);
var-sIndex=0;
函数newSidebar(surl、sIndex){
$(“.sidebar”).html(标题[sIndex].date+”
); $(“.sidebar”).fadeIn(400); } newSidebar(“getme.php?blog=1&headline=1”,sIndex); setInterval(函数(){ ++sIndex; 如果(sIndex==headlines.length){sIndex=0} var surl=“getme.php?blog=1&headline=“+headlines[sIndex]”索引; $(“.sidebar”).fadeOut(400,newSidebar(surl,sIndex)); },10000);//结束设置间隔 }; // 结束进程侧栏
jQuery的
fadeOut
需要一个函数作为
complete
参数

您正在提供
newSidebar(surl,sIndex)
,它会立即得到评估,并且不会返回任何结果(但会执行整个
fadeIn
内容)

您想使用匿名函数:

$(“.sidebar”).fadeOut(400,function(){newSidebar(surl,sIndex)})