2014-01-27 2 views
0

나는 독특한 popover와 여러 이미지가 있습니다. 사용자가 그 중 하나를 클릭하면, 다른 사람들이 숨기고 오직 하나만 보여지기를 원합니다.한 popover 보여 다른 사람 bootstrap

나는 이것을 지금까지 해왔다. 나는 활발히 활동할 때 다른 popovers를 숨기는 방법에 대한 아이디어가 없습니다. 내가 도움이 필요한 것입니다.

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' 
    }); 

답변

1

HAML에 익숙하지만 클릭 기능이 뭔가를하려고하지 :

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

div 중 하나를 클릭하면 팝업이 열리지 않습니다. – SHUMAcupcake

+0

오류가 있습니까? 내가 원한 것처럼 다른 이미지를 숨기는 코드가 있습니까? 또한 - 당신은'div'가 열리지 않겠지 만'li'의 ID는 오타라고했습니다? –

+0

다른 CSS에 대한 활성 CSS 클래스, 이미지를 클릭해도 아무런 오류가 발생하지 않습니다. 당신이 jsfiddle을 제공 할 수 있다면 그것은 매우 도움이 될 것입니다 ... – SHUMAcupcake

1

이 시도 : 하나의 popover를 클릭하면 jquery를 사용하여 addclass를 숨긴다. 모든 popovers를 다시 표시하려면 사용자가보기를 마친 후에이 클래스를 제거해야합니다. 이런 식으로 보일 겁니다.

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

또는 그 대답을 아래로 시도하십시오. –

관련 문제