0

我试图在单击标题时触发内容弹出。这是功能:

    <script type="text/javascript">
    jQuery(document).ready(function($){

            $(".event-info").hide(); // make sure all content in event-info class is hidden

            $(".event-title").click(function(){
        // find the .event-info within the same div as .event-title is and slide to         show
            $(".event-info").hide();    $(this).parent().children(".event-        info").toggle("slide", {direction: "up"}, 500);           })

    });
    </script>

我的问题是当它运行时,它只运行一次!我点击标题,内容弹出,我再次点击它并关闭。但是如果我想第三次点击它来弹出内容它不起作用。所以我要问的是,应该从这个函数中添加/删除什么来制作它,以便我可以尽可能多地弹出内容?

谢谢!


更新!

这是HTML:

<html>
<div class="event-title"> Title that triggers content to appear is here </div>

<div class="event-info"> Content that appears is placed here</div>
</html>

***更新

好的,所以 Aiias 帮助我获得了它,这样我就可以打开/关闭内容到无穷大并且超越这个:

jQuery(document).ready(function($) {
  $(".event-info").hide();
  $(".event-title").click(function() {
    $(this).parent().children(".event-info").slideToggle(500);
  });
});

一切正常!多谢你们!很好的帮助!

4

2 回答 2

0

尝试

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

    $(".event-info").hide(); // make sure all content in event-info class is hidden

    $(".event-title").click(function(){
        $(this).siblings(".event-info").toggle({
            easing: "slide", 
            direction: "up", 
            duration: 500
        });           
    })

});

演示:小提琴

更新:

$(".event-title").click(function(){
    val el = $(this).siblings(".event-info").toggle({
        easing: "slide", 
        direction: "up", 
        duration: 500
    });
    (".event-info").not(el).hide();
})
于 2013-06-07T04:04:00.250 回答
0

您不需要.event-info在点击处理程序中隐藏它,因为切换会处理这个。尝试使用 jQuery 的slideToggle()

更新

jQuery(document).ready(function($) {
  $(".event-info").hide();
  $(".event-title").click(function() {
    var eventInfo = $(this).parent().children(".event-info");
    $('.event-info').not(eventInfo).slideUp();
    eventInfo.slideToggle();
  });
});

请参阅此工作更新的 jsFiddle 演示http://jsfiddle.net/9meXY/1/

于 2013-06-07T04:05:26.867 回答