我使用jquery.show()来显示div,它是css中的"display:none"。但是,show()函数延迟显示div。
function button_click(){
$("#mydiv").show();
function1();
function2();
}我试过像$('#mydiv').show({queue:false})一样,但它不起作用。#mydiv只在function1和function2完成时显示。如何使show()立即工作?
更新:我发现这是因为我使用了$.ajxaSetup({异步:false})。
我需要发出多个请求,比如$.get,并且在请求完成之后我做了一些事情,所以我使它异步.但是通过这种方式,$.show()函数在所有请求完成之前都无法工作.
发布于 2017-04-16 09:50:46
我不确定您的实际文件,但是在您的基础上,下面是我使用一个简单回调的解决方案,只有one和two函数被main函数调用后才能运行,main函数是hide方法的回调:
function button_click(){
function one() { console.log('I am one');}
function two() { console.log('I am two');}
$("#mydiv1").hide('slow', function main(){
one();
two();
});
}
button_click();.child {
color : white;
display : inline-block;
margin : 20px;
min-width : 50px;
min-height : 50px;
padding : 10px;
background-color: olive;
}
.parent {
padding : 20px;
background-color: beige;
}<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="father" class="parent">
<div id="mydiv1" class="child">1</div>
<div id="mydiv2" class="child">2</div>
<div id="mydiv3" class="child">3</div>
<div id="mydiv4" class="child">4</div>
<div id="mydiv5" class="child">5</div>
</div>
我希望这能帮到你
https://stackoverflow.com/questions/43435502
复制相似问题