2011-11-17 10 views
5

Mam listę przedmiotów, a każdy z nich ma popover Bootstrap z nim związany (docs here). Są one inicjowane w następujący sposób:Czy możliwa jest zmiana pozycji przeskoków Bootstrap na podstawie szerokości ekranu?

$('#my_list li').popover({ 
    placement: 'left' 
}); 

To działa, ale w małych szerokościach popover jest tracony z widoku. Chciałbym, aby miejsce docelowe było warunkowe na podstawie $(document).width();, jednak nie widzę sposobu na przekroczenie początkowych opcji (na przykład przy szerokości około 1000 pikseli, przełącz położenie na "powyżej").

Ułożyłem uproszczoną wersję at jsfiddle here. Wielkie dzięki.

Odpowiedz

20

miejsce docelowe może również przyjąć funkcję jako swoją wartość. W tej funkcji możesz zwrócić odpowiednią wartość na podstawie szerokości rzutni. Na przykład

$(document).ready(function(){ 
    $('#my_list li').popover({ 
     placement: wheretoplace 
    }); 
}); 
function wheretoplace(){ 
    var width = window.innerWidth; 
    if (width<500) return 'bottom'; 
    return 'left'; 
} 
+0

doskonały - dziękuję. Czuję się teraz trochę głupi. – CherryFlavourPez

+1

nie działa. popover wciąż idzie pod krawędź. Używam BS3 –

0

umieszczenie jej zmiana od lewej do góry na okna mniejsze niż 768

placement: function(){return $(window).width()>768 ? "auto left":"auto top";} 
Powiązane problemy