jQuery仅在"检查元素时才有效?"?

时间:2015-03-27 16:18:43

标签: jquery

我有这个简单的jQuery函数,用额外的信息切换div。但它只有在我通过Chrome或Firefox检查元素时才有效。我检查了这些课程是否正确定位是我如何找到的(当它刚刚开始工作时)。但是如果没有检查寡妇打开就行不通。

使用jQuery版本1.11.0

我的代码:

jQuery(document).ready(function ($) {

    $(".but-proj-highlights").click( function(){

         if ($(this).hasClass("isUp") ) {
         $(this).next("#project-highlights").animate({marginTop:"50%"}, 200);           
         $(this).removeClass("isUp");
    } else {
        $(this).next("#project-highlights").animate({marginTop:"-100%"}, 200);  
        $(this).addClass("isUp");
    }

    });
});// END

HTML

<div class="but-proj-highlights isUp">
        Project Highlights
</div><!-- but proj highlights -->

<div id="project-highlights">
    <div class="entry-content">
        <h2>Project Highlights</h2>
        <?php echo  $projHighlights ?>
    </div><!-- entry-contnet -->
</div><!-- project highlights -->

小提琴:https://jsfiddle.net/qwzb3an8/

1 个答案:

答案 0 :(得分:0)

jQuery的animate功能是异步的,因此您需要等到它完成remove/add课程之后才能完成。

例如:

$(this).next("#project-highlights").animate({marginTop:"50%"}, 200, function () {
    // animate is complete
    $(this).removeClass("isUp");
});