19

单击 div 时,我希望出现不同的 div。

因此,当单击“#music”时,我希望出现“#musicinfo”。

这是CSS:

#music {
    float:left;
    height:25px;
    margin-left:25px;
    margin-top:25px;
    margin-right:80px;
    font-family: "p22-underground",sans-serif;
    font-style: normal;
    font-weight: 500;
    font-size:13pt;

    }

#musicinfo {
    width:380px;
    margin:25px;
    font-family: "p22-underground",sans-serif;
    font-style: normal;
    font-weight: 500;
    font-size:13pt;
    line-height:1.1;
    display:none;

}

和jQuery:

<script type="text/javascript">
$("#music").click(function () {
$("#musicinfo").show("slow");
});
</script>

任何帮助都会很棒:)

4

3 回答 3

56

您遇到的问题是事件处理程序在元素出现在 DOM 之前被绑定,如果您将 jQuery 包装在 a 中,$(document).ready()那么它应该可以很好地工作:

$(document).ready(
    function(){
        $("#music").click(function () {
            $("#musicinfo").show("slow");
        });

    });

另一种方法是将 放置<script></script>在页面的底部,以便在 DOM 加载并准备好之后遇到它。

div再次隐藏,#music单击元素后,只需使用toggle()

$(document).ready(
    function(){
        $("#music").click(function () {
            $("#musicinfo").toggle();
        });
    });

JS 小提琴演示

对于褪色:

$(document).ready(
    function(){
        $("#music").click(function () {
            $("#musicinfo").fadeToggle();
        });
    });

JS 小提琴演示

于 2012-09-02T15:26:50.257 回答
6

您可以使用jQuery toggle来显示和隐藏 div。脚本会是这样的

  <script type="text/javascript">
    jQuery(function(){
      jQuery("#music").click(function () {
        jQuery("#musicinfo").toggle("slow");
      });
    });
</script>
于 2012-09-02T15:41:29.110 回答
4

这是使用以下方式显示 Div 的简单方法:-

$("#musicinfo").show();  //or
$("#musicinfo").css({'display':'block'});  //or
$("#musicinfo").toggle("slow");   //or
$("#musicinfo").fadeToggle();    //or
于 2015-10-16T07:26:31.377 回答