对document.write使用javascript延迟

对document.write使用javascript延迟,javascript,function,delay,Javascript,Function,Delay,有人能帮我在代码中输入javascript延迟吗。 我想让这个代码在2秒后打开。当您打开url时。 站点的其余部分正常加载 <script type="text/javascript"> var avail=$z:value[article.availableinstock]; if ($z:value[article.availableinstock] < 1) { document.write('<div class="shop_not">'); docum

有人能帮我在代码中输入javascript延迟吗。 我想让这个代码在2秒后打开。当您打开url时。 站点的其余部分正常加载

<script type="text/javascript">

var avail=$z:value[article.availableinstock];

if ($z:value[article.availableinstock] < 1)
{
document.write('<div class="shop_not">');
document.write("In order!");
}
else if ($z:value[article.availableinstock] >=100)
{
document.write('<div class="shop_ok">');
document.write(" 100+ in stock" );
}
else if ($z:value[article.availableinstock] >=50 )
{
document.write('<div class="shop_ok">');
document.write(" 50+ in stock" );
}
else if ($z:value[article.availableinstock] >=25 )
{
document.write('<div class="shop_ok">');
document.write(" 25+ in stock" );
}
else
{
document.write('<div class="shop_bob">');
document.write(+ avail.toFixed(0));
document.write(" in stock" );
}
</script>

var avail=$z:value[article.availableinstock];
如果($z:value[article.availableinstock]<1)
{
文件。写(“”);
文件。写(“按顺序!”);
}
else if($z:value[article.availableinstock]>=100)
{
文件。写(“”);
文件。填写(“100+库存”);
}
否则如果($z:value[article.availableinstock]>=50)
{
文件。写(“”);
文件。填写(“50+库存”);
}
else if($z:value[article.availableinstock]>=25)
{
文件。写(“”);
文件。填写(“25+库存”);
}
其他的
{
文件。写(“”);
文件写入(+可用于固定(0));
文件。填写(“库存”);
}

将代码封装在函数中,然后使用
setTimeout
JS函数

function function_name () {
    var avail=$z:value[article.availableinstock];

    if ($z:value[article.availableinstock] < 1)
    {
        document.write('<div class="shop_not">');
        document.write("In order!");
    }
    else if ($z:value[article.availableinstock] >=100)
    {
        document.write('<div class="shop_ok">');
        document.write(" 100+ in stock" );
    }
    else if ($z:value[article.availableinstock] >=50 )
    {
        document.write('<div class="shop_ok">');
        document.write(" 50+ in stock" );
    }
    else if ($z:value[article.availableinstock] >=25 )
    {
        document.write('<div class="shop_ok">');
        document.write(" 25+ in stock" );
    }
    else
    {
        document.write('<div class="shop_bob">');
        document.write(+ avail.toFixed(0));
        document.write(" in stock" );
    }
}

setTimeout('function_name()', 2000);
function\u name(){
var avail=$z:value[article.availableinstock];
如果($z:value[article.availableinstock]<1)
{
文件。写(“”);
文件。写(“按顺序!”);
}
else if($z:value[article.availableinstock]>=100)
{
文件。写(“”);
文件。填写(“100+库存”);
}
否则如果($z:value[article.availableinstock]>=50)
{
文件。写(“”);
文件。填写(“50+库存”);
}
else if($z:value[article.availableinstock]>=25)
{
文件。写(“”);
文件。填写(“25+库存”);
}
其他的
{
文件。写(“”);
文件写入(+可用于固定(0));
文件。填写(“库存”);
}
}
setTimeout('function_name()',2000);

解决方案是将所有内容放入一个
setTimeout(function(){…your stuff…},2000)
调用中

这应该是这样的:

函数yourStuff(){
var avail=$z:value[article.availableinstock];
如果($z:value[article.availableinstock]<1){
文件。写(“”);
文件。写(“按顺序!”);
}else if($z:value[article.availableinstock]>=100){
文件。写(“”);
文件。填写(“100+库存”);
}否则如果($z:value[article.availableinstock]>=50){
文件。写(“”);
文件。填写(“50+库存”);
}else if($z:value[article.availableinstock]>=25){
文件。写(“”);
文件。填写(“25+库存”);
}否则{
文件。写(“”);
文件写入(+可用于固定(0));
文件。填写(“库存”);
}
}
然后,在页面
正文
中的某个地方,您只需调用

setTimeout(yourStuff,2000);

为什么要等待2秒?使用ex.2秒的原因是,当我使用脚本时,articlelist非常慢,甚至只有值。因此,使articlelist快速比增加2秒延迟(每个用户都会注意到)要好?或者将javascript放在articlelist的回调中,而不是希望在两秒钟内完成所有操作?我明白你的意思了Dominik!页面已经足够快了,但正是这个脚本让它变慢了,因为article.available查询需要太多。所以我的计划是,在页面加载之后,这个脚本将被加载。