如何解决js延迟显示效果问题?

发布网友 发布时间:2022-04-23 04:06

我来回答

7个回答

热心网友 时间:2022-04-22 16:44

方法/步骤

追问不懂,跟我问的问题有什么关系吗

热心网友 时间:2022-04-22 18:02

修改了问题吗?太鸡贼了。

不知道你引用了什么框架,按我理解$+function这个函数根本没有执行,另外,你的分号好像用错了。

将函数单独拿出来执行。

// 改为英文分号
var aaa=document.getElementById("a");
var bbb=document.getElementById("b");
// 别加$,并在末尾添加()
(function()

    if (bbb.value==2)
    {
        aaa.value="成功"
    }
    else
    {
        aaa.value= "失败"
    }
})();

以下是原回答:

-----------------------------

不是延迟显示,而是语法错误,代码中变量aaa只是个值,所以你的代码只会改变aaa变量本身,并不会更改#a元素的value,正确代码如下:

<input id="a">
<input id="b" value="2">
<script>
    (() =>
    {
        // #b.value应该是个字符串,js中允许数字字符串和数字直接比较
        if (document.getElementById("b").value == 2)
        {
            document.getElementById("a").value = '成功';
        }
        else
        {
            document.getElementById("a").value = '失败';
        }
    })();
</script>

追问我是用asp写的,的值通过授予,然后js通过判断的值向传值判断是“成功”还是“失败”,清除浏览器缓存后,第一次打开是无值的,刷新一下才显示“成功”

追答建议你在我原回答的代码基础上修改,避免一些低级错误。

热心网友 时间:2022-04-22 19:37

<%bb=2%>
<input id="a">
<input id="b" value=<%=bb%>>
<script>
$(function(){
    if ($("#b").val()=="2"){
        $("#a").val("成功");
    }else{
        $("#a").val("失败");
    }
});
</script>

热心网友 时间:2022-04-22 21:28

直接这么写试试

<%bb=2%>
<input id="a">
<input id="b" value=<%=bb%>>
<script>
var aaa=document.getElementById("a");
var bbb=document.getElementById("b");
if (bbb.value==2){
aaa.value="成功";
}else{
aaa.value="失败";
}
</script>

不要写成函数

热心网友 时间:2022-04-22 23:36

<%bb=2%> 这个赋值比 if (bbb.value==2){ aaa.value="成功" } 这个判断慢,所以第一次刷新没有显示,第二次刷新的时候,那个input a 里有缓存的值,所以第二次刷新才会显示成功

热心网友 时间:2022-04-23 02:01

既然改了问题,那就来改改回答,如果是现在这样的代码出了问题,建议你在浏览器打开页面后按F12调出控制台console,看下有没有报错。

热心网友 时间:2022-04-23 04:42

通过setTimeout函数调用。如下:

setTimeout( function(){
//add your code
}, 5 * 1000 );//延迟5000毫米

setTimeout() 的第一个参数是含有 JavaScript 语句的字符串。这个语句可能诸如 "alert('5 seconds!')",或者对函数的调用,诸如 alertMsg()"。

第二个参数指示从当前起多少毫秒后执行第一个参数。



扩展资料

延迟运行,setTimeout函数用法的具体事例:

<script language="javascript">

function test(obj)

{

alert(obj);

setTimeout("test()",1000);

}

</script>

<input id="testButton" type="button" onclick="test(this)">

setTimeout里的test()没带参数,第一次显示[object],1000毫秒之后显示undefined,变量尚未赋值,也就是说用此方式可以实现带参数的方法循环,但是参数被销毁。

其实这很简单就可以实现,不必写那么长的代码来实现。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com