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
Javascript 我在jQuery中的任何延迟都不起作用_Javascript_Jquery_Html_Title - Fatal编程技术网

Javascript 我在jQuery中的任何延迟都不起作用

Javascript 我在jQuery中的任何延迟都不起作用,javascript,jquery,html,title,Javascript,Jquery,Html,Title,我的剧本: $(function () { $("body").addClass("lost"); var counter = 0; var time = 400; var delay = time*5+250; if($("body").hasClass("lost")) { $("nav").delay(delay).css({'background': 'transparent'}); $("nav").delay

我的剧本:

$(function () {
    $("body").addClass("lost");

    var counter = 0;
    var time = 400;
    var delay = time*5+250;

    if($("body").hasClass("lost")) {
        $("nav").delay(delay).css({'background': 'transparent'});
        $("nav").delay(delay).css({'background-color': '#e30'});
        $(this).find(".slogan").delay(delay).html('USB-stick  is lost');
        var title = "this USB-stick is lost";
    } else {
        var title = "this USB-stick is not lost";
        $(this).find(".slogan").delay(delay).html('USB-stick is not lost');
    }

    var titleTimerId = setInterval(function(){
        document.title = document.title + '.';
        counter++;
        if(counter == 5){
            clearInterval(titleTimerId);
            document.title = title;
        }
    }, time);
});
我想要达到的是,在到达var延迟时间之后,所有内容都会发生变化,并且我在脚本的某些元素中放置的标题也发生了变化,但这对我来说不起作用

这表示导航:

<nav onclick="window.location=''">
    <img src="//sakesalverda.nl/logo.png" alt="badge html 5" class="logo_nav"/>
    <p>sakesalverda.nl</p>
    <h1 class="slogan">USB-stick</h1>
</nav>

sakesalverda.nl

U盘
为什么不把if-else循环放在一个
setTimeout
函数中,该函数具有一个
延迟的计时器

setTimeout(function () {
        $("nav").delay(delay).css({
            'background': 'transparent'
        });
        $("nav").delay(delay).css({
            'background-color': '#e30'
        });
        $(this).find(".slogan").delay(delay).html('USB-stick  is lost');
        var title = "this USB-stick is lost";
    }, delay);
类似地,对于else情况

来自:

.delay()方法允许我们延迟执行 跟着它排队。它可以与标准效果队列一起使用 或者使用自定义队列。只有队列中的后续事件被延迟; 例如,这不会延迟.show()或 .hide()不使用效果队列

css()
html()
方法不使用队列,您需要使用方法包装它们,例如:

$("nav")
    .delay(delay)
    .queue(function (next) {
        $(this).css({'background': 'transparent'});
        next();
    });

这里的导航是什么?它是ID吗?请检查编辑,它应该提到
delay()
与jQuery动画“自动”工作(因为默认情况下它们在同一动画队列中)。@nietonfir true,除了这不是关于
delay()
的教程。除了var标题之外,所有内容都工作,您有解决方案吗?在这种情况下,
delay()
是不必要的。在我看来,使用
delay()。