Javascript Jquery隐藏没有触发

Javascript Jquery隐藏没有触发,javascript,jquery,Javascript,Jquery,下面是我的javascript,我一直在尝试显示某些div,在执行函数后,div应该会自动隐藏,但我遇到了一个问题,即在同一个函数中,两者都不像先显示,然后在一段时间间隔后隐藏该div,但当我将show和hidden事件分开放置时,效果很好。请让我知道如何修改以下代码,以便在处理结果后隐藏该div function jq(input) { if (input == 'abc') { $("#show").show(1000); docume

下面是我的javascript,我一直在尝试显示某些div,在执行函数后,div应该会自动隐藏,但我遇到了一个问题,即在同一个函数中,两者都不像先显示,然后在一段时间间隔后隐藏该div,但当我将show和hidden事件分开放置时,效果很好。请让我知道如何修改以下代码,以便在处理结果后隐藏该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>
函数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);
        });
    }
}