首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未触发Jquery隐藏

未触发Jquery隐藏
EN

Stack Overflow用户
提问于 2012-09-15 02:30:47
回答 2查看 54关注 0票数 0

下面是我的javascript,我一直在尝试显示特定的div,在函数执行后,div应该会自动隐藏,但我遇到了这个问题,在相同的函数中,两者都不能首先显示,然后在一段时间间隔后隐藏该div,但当我将show和hide的事件分开放置时,它工作得很好。请告诉我如何修改以下代码,以便在处理结果后隐藏该div

代码语言:javascript
复制
 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>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-09-15 02:36:44

代码语言:javascript
复制
$("#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);

});

完整代码

代码语言:javascript
复制
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);
        });
    }
}
票数 1
EN

Stack Overflow用户

发布于 2012-09-15 02:36:04

我认为你在下面这行得到了一个错误(检查控制台):

代码语言:javascript
复制
document.getElementById('sele').options.length = 0;

length是只读的,这不是清空select的方法。由于您使用的是jQuery,因此您可以改为执行以下操作:

代码语言:javascript
复制
$('#sele').empty();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12430053

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档