Javascript Jquery隐藏没有触发
下面是我的javascript,我一直在尝试显示某些div,在执行函数后,div应该会自动隐藏,但我遇到了一个问题,即在同一个函数中,两者都不像先显示,然后在一段时间间隔后隐藏该div,但当我将show和hidden事件分开放置时,效果很好。请让我知道如何修改以下代码,以便在处理结果后隐藏该divJavascript Jquery隐藏没有触发,javascript,jquery,Javascript,Jquery,下面是我的javascript,我一直在尝试显示某些div,在执行函数后,div应该会自动隐藏,但我遇到了一个问题,即在同一个函数中,两者都不像先显示,然后在一段时间间隔后隐藏该div,但当我将show和hidden事件分开放置时,效果很好。请让我知道如何修改以下代码,以便在处理结果后隐藏该div function jq(input) { if (input == 'abc') { $("#show").show(1000); docume
function jq(input)
{
if (input == 'abc')
{
$("#show").show(1000);
document.getElementById('sele').options.length = 0;
$('#sele').append('<option value="test">Testing</option>').updateSelect();
$("#show").hide(1000);
}
}
<div id="show" > <img src="ajax-loader.gif" width="16" height="16" /> </div>
函数jq(输入)
{
如果(输入='abc')
{
元("show).show(1000);;
document.getElementById('sele')。options.length=0;
$('sele').append('Testing').updateSelect();
$(“show”).hide(1000);
}
}
我认为您在以下行中遇到错误(请检查控制台):
length
是只读的,这不是清空select的方法。因为您使用的是jQuery,所以可以改为执行以下操作:
$('#sele').empty();
$(“#show”).show(1000,函数(){
$('sele').empty();//而不是:document.getElementById('sele').options.length=0;
$('sele').append('Testing').updateSelect();
//使用setTimeout()进行延迟
setTimeout(函数(){
$(“show”).hide(1000);
}, 500);
});
完整代码
函数jq(输入){
如果(输入='abc'){
$(“#show”).show(1000,函数(){
$('#sele').empty();
$('sele').append('Testing').updateSelect();
setTimeout(函数(){
$(“show”).hide(1000);
}, 500);
});
}
}
@softgenic您是否尝试过我上次的更新代码?如果在此之后出现任何问题,请澄清。。。最好是当小提琴手
$('#sele').empty();
$("#show").show(1000, function() {
$('#sele').empty(); // instead of: document.getElementById('sele').options.length = 0;
$('#sele').append('<option value="test">Testing</option>').updateSelect();
// make a delay using setTimeout()
setTimeout(function() {
$("#show").hide(1000);
}, 500);
});
function jq(input) {
if (input == 'abc') {
$("#show").show(1000, function() {
$('#sele').empty();
$('#sele').append('<option value="test">Testing</option>').updateSelect();
setTimeout(function() {
$("#show").hide(1000);
}, 500);
});
}
}