显示一个popover隐藏其他引导程序

时间:2014-01-27 19:34:59

标签: javascript jquery twitter-bootstrap haml

我有几张带有独特popover的图片。当用户点击其中一个时,我希望隐藏其他人,只显示一个。

这是我到目前为止所做的。我不知道如何在一个人活跃时隐藏其他弹出窗口,这就是我需要帮助的东西。

HTML / HAML:

%ul
  %li
    = image_tag 'robert-reco.jpg', class: "active ", id: "recorobert"
  %li
    = image_tag 'anan-reco.jpg', id: "recoanna" 
  %li
    = image_tag 'christian-reco.jpg', id: "recochristian"
  %li
    = image_tag 'hanjun-reco.jpg', id: "recohanjun"

Jquery代码:

//popover homepage
    $('#recorobert').popover({
        placement : 'top',
        html : 'true',
        content : '<p>Text 1</p><p class="small">- Robert, kampanjen <a href="#">Movember är här</a></p>',
        trigger : 'click'
    });
    $('#recoanna').popover({
        placement : 'top',
        html : 'true',
        content : '<p>Text 2</p><p class="small">- Anna, kampanjen <a href="#">Varför apor aldrig bär rosa klänning</a></p>',
        trigger : 'click'
    }); 
    $('#recochristian').popover({
        placement : 'top',
        html : 'true',
        content : '<p>Text 3</p><p class="small">- Christian, kampanjen <a href="#">Varför apor aldrig bär rosa klänning</a></p>',
        trigger : 'click'
    });
    $('#recohanjun').popover({
        placement : 'top',
        html : 'true',
        content : '<p>Text 4</p><p class="small">- Adam, kampanjen <a href="#">Varför apor aldrig bär rosa klänning</a></p>',
        trigger : 'click'
    });

2 个答案:

答案 0 :(得分:1)

不熟悉HAML,但在点击功能中尝试这样的事情:

$.each('li:not('.active')', function() {
    $(this).addClass('hide');
});

答案 1 :(得分:1)

试试这个:当点击一个弹出窗口时,使用jquery将addclass隐藏到所有其他弹出窗口,一旦用户查看完再次显示所有弹出窗口,您需要删除此类。它会看起来像这样。

$(".allpopovers").addClass("hide");
$(this).removeClass("hide");