使用jquery显示/隐藏div - 不工作

时间:2011-06-24 04:12:20

标签: jquery

我正在使用此功能来显示/隐藏div。

但这不起作用。

它只适用于隐藏而不适用于节目。我需要以缓慢的方式显示和隐藏字段。

如何做到这一点?

这里我的错误是什么......

$(document).ready(function(){
    $("#field-reviewers-items").hide();
    $('#edit-field-openforreview-value-1').click(function(){
        $("#field-reviewers-items").show();
    });
    $('#edit-field-openforreview-value-1').click(function(){
        $("#field-reviewers-items").hide();
    });
});

2 个答案:

答案 0 :(得分:3)

您要将点击方法设置两次,这意味着$.hide()将在$.show()之后立即运行。这种情况发生得如此之快,以至于$.show()似乎无法正常工作。相反,设置一次点击并指示它切换可见性:

$("#edit-field-openforreview-value-1").click(function(){
  $("#field-reviewers-items").fadeToggle('slow');
});

此代码假设您希望使用相同的元素切换#field-reviewers-items元素的可见性;我觉得这是一个安全的假设,因为你的选择器对于两个点击事件都是相同的。你可能有一个错字,而第二个选择器应该是value-2

var $fieldRevItems = $("#field-reviewers-items");

$("#edit-field-openforreview-value-1").click(function(){
  $fieldRevItems.show('slow');
});

$("#edit-field-openforreview-value-2").click(function(){
  $fieldRevItems.hide('slow');
});

答案 1 :(得分:2)

$('#edit-field-openforreview-value-1').click(function() {
    $("#field-reviewers-items").fadeToggle('slow');
});

以“慢”风格显示/隐藏