下面是我的javascript,我一直在尝试显示特定的div,在函数执行后,div应该会自动隐藏,但我遇到了这个问题,在相同的函数中,两者都不能首先显示,然后在一段时间间隔后隐藏该div,但当我将show和hide的事件分开放置时,它工作得很好。请告诉我如何修改以下代码,以便在处理结果后隐藏该div
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>发布于 2012-09-15 02:36:44
$("#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);
});
}
}发布于 2012-09-15 02:36:04
我认为你在下面这行得到了一个错误(检查控制台):
document.getElementById('sele').options.length = 0;length是只读的,这不是清空select的方法。由于您使用的是jQuery,因此您可以改为执行以下操作:
$('#sele').empty();https://stackoverflow.com/questions/12430053
复制相似问题