1

我正在尝试使用此方法显示适当的内容:确定单击的 div 的 id,而不是使用确定的 id + '-box' 打开 div 内容。但它不起作用。

不工作的jQuery:

$(".portfolio-apps section").click(function() {
    var currentID = '#' + $(this).attr('id');
    console&&console.log(currentID);
    var currentIDBox = currentID + "-box";
    console&&console.log(currentIDBox);
    $(currentID).click(function() {
        $('.portfolio-entry-text').hide('fast');
        var bcn = $(currentIDBox);
        if ($('.box-content').is(':visible')) {
            $('.box-content').hide();
            bcn.show();
        }
        else {
            $('.box-content').hide();
            bcn.slideToggle(200);
        }
    });
}); 

正在工作的类似 JQuery:

$("#gterminal").click(function() {
    $('.portfolio-entry-text').hide('fast');
    var bcn = $('#gterminal-box');
    if ($('.box-content').is(':visible')) {
        $('.box-content').hide();
        bcn.show();
    }
    else {
        $('.box-content').hide();
        bcn.slideToggle(200);

    }
});

HTML

<div class="portfolio-apps clearfix">
         <section class="button" id="gterminal">
            <span>Google in Terminal</span>
         </section>
         <section class="button" id="MySQLToJSON">
            <span>MySQL to JSON</span>
         </section>
        </div>


<div id="wrapper" >
      <div class="box-content" id="gterminal-box">
          <p>BOX 1</p>
      </div>

      <div class="box-content" id="MySQLToJSON-box">
          <p>BOX 2</p>
      </div>
</div>
4

1 回答 1

1

您在.click内部绑定了一个事件,这意味着在-box第二次单击之前不会触发显示/隐藏。这对我来说没有意义。如果您只是删除内部.click绑定,它似乎工作得很好:

http://jsfiddle.net/Th3wT/

于 2013-01-29T01:50:38.933 回答