【问题标题】:Show/hide script cannot hide again on 2nd click显示/隐藏脚本无法在第二次单击时再次隐藏
【发布时间】:2014-11-27 06:46:48
【问题描述】:

我在 Web 的许多地方都使用了 jquery 显示/隐藏。每个地方都能正常工作,但在这种情况下,它不会在第二次点击中再次隐藏。

示例如下:http://jsfiddle.net/er9e72ww/

显示/隐藏代码

$('#uploadMedia').livequery("click",function(){
  $('#show_img_upload_div').slideToggle('slow');
  $("#comment").focus();
  $('.upfrm').show();
  $('#submit').hide();
});

【问题讨论】:

  • 也切换其他类和 id.. $('.upfrm').toggle(); $('#submit').toggle();

标签: javascript jquery jquery-plugins


【解决方案1】:

在jquery中使用toggle()来重复隐藏和显示

$('#uploadMedia').livequery("click",function(){
$('#show_img_upload_div').slideToggle('slow');
$("#comment").focus();
$('.upfrm').toggle();
$('#submit').toggle();
});

DEMO

【讨论】:

  • @koch 很高兴为您提供帮助,如果您对此感到满意,请接受
【解决方案2】:

这里的问题是你是 hiding/showing submit/upfrm 但不是 showing/hide 再次。使用切换来实现:

$('.upfrm').toggle();
$('#submit').toggle();

【讨论】:

    【解决方案3】:

    只需使用.slideToggle('slow'); 而不是show()hide() 之类的:

    $('#uploadMedia').livequery("click", function () {
        $('#show_img_upload_div').slideToggle('slow');
        $("#comment").focus();
        $('.upfrm').slideToggle('slow');
        $('#submit').slideToggle('slow');
    });
    

    【讨论】:

    • 谢谢您,先生,我已经接受了一个答案。但我喜欢你的,我也会用它。再次感谢您。
    • 没问题。您可能只是想对此表示赞成吗? :D
    • 我没有那么好投票的声誉,但我会在功能中投票。谢谢楼主
    猜你喜欢
    • 2018-09-29
    • 2018-03-18
    • 1970-01-01
    • 1970-01-01
    • 2014-05-16
    • 1970-01-01
    • 2021-05-22
    • 2015-09-02
    • 1970-01-01
    相关资源
    最近更新 更多