javascript - Jquery fadeIn 回调中的 fadeOut 不持久

标签 javascript jquery setinterval fadein fadeout

希望有人能为我阐明这个问题......我正在使用 setInterval 来交替在网页上显示标题。它淡出前一个,然后在回调函数中淡入新的。它曾经工作正常,但是我将回调函数与 fadeOut 分开,因为我想最初不延迟地运行它,现在我得到了最初的标题,但是当需要更改时,它们会淡入进行分割第二次然后再次消失。

       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

最佳答案

jQuery 的 fadeOut 需要一个函数作为complete参数。

您提供的是 newSidebar(surl,sIndex),它会立即进行计算并且不返回任何内容(但会执行整个 fadeIn 操作)。

您想使用匿名函数:

$(".sidebar").fadeOut(400,function() { newSidebar(surl,sIndex) });

关于javascript - Jquery fadeIn 回调中的 fadeOut 不持久,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24108181/

相关文章:

javascript - Excel 导出为 html 无法在 Excel 2016 中显示边框

javascript - jQuery Datatables 分页设置

javascript - Javascript 内存溢出 "+="

javascript - 函数标题变量

jquery - 通过交替点击对 JSON Z-A 进行排序

javascript - 在下一行中插入新磁贴

javascript - 按设定的时间间隔使用数组中的随机字更新组件状态(和 UI)

javascript - setInterval问题(js)

javascript - 无法在 JS 中重置 setInterval

Javascript AngularJS 函数未按预期运行