1

你好,所以我有以下内容:

jQuery('#settings').toggle(function() {
  jQuery('#event_time_interval_form_part').fadeIn();
}, function() {
  jQuery('#event_time_interval_form_part').fadeOut();
});
jQuery('.cancel').click(function(e){
    e.preventDefault();
    jQuery(this).parents('#event_time_interval_form_part').fadeOut();
});

和 HTML

<div class="auction-settings">
    <span id="settings"><span class="icon icon-cogs"></span> settings</span>
    <div id="event_time_interval_form_part" style="display:none;" >
        <span class="cancel">cancel</span>
    </div>
</div>

但是,当您单击关闭链接时,我无法弄清楚如何切换切换开关,当您单击设置(打开和关闭)时切换工作时间,但是当它打开并且您在切换区域内单击取消时,它会关闭哪个很好,但是如果再次单击设置,则必须单击两次才能显示。

有任何想法吗?

4

4 回答 4

0

toggle不推荐使用事件方法。您可以改用clickandfadeToggle方法:

$('#settings, .cancel').click(function(e) {
    $('#event_time_interval_form_part').fadeToggle();
});

http://jsfiddle.net/RmFfz/

注意span点击事件没有任何默认动作,不需要使用preventDefault()方法。

于 2013-05-29T12:45:01.073 回答
0

而不是.toggle使用.clickhttp://jsfiddle.net/AUz97/3/

jQuery('#settings').click(function() {
  jQuery('#event_time_interval_form_part').toggle();

});
jQuery('.cancel').click(function(e){
    e.preventDefault();
    jQuery(this).parents('#event_time_interval_form_part').fadeOut()
});
于 2013-05-29T12:45:23.130 回答
0

摆弄:http: //jsfiddle.net/AUz97/

jQuery('.actions .cancel').click(function(e){
    e.preventDefault();
    jQuery(this).parents('#event_time_interval_form_part').fadeOut();
});

这些类 .action .cancel 在哪里添加到您可以单击的元素中?

于 2013-05-29T12:47:11.793 回答
0

如果您使用的是 jQuery < 1.9,那么

jQuery('#settings').toggle(function() {
    jQuery('#event_time_interval_form_part').fadeIn();
}, function() {
    jQuery('#event_time_interval_form_part').fadeOut();
});
jQuery('.cancel').click(function(e){
    e.preventDefault();
    jQuery('#settings').click()
});

演示:小提琴

于 2013-05-29T12:50:20.963 回答