2011-11-17 6 views
5

私はアイテムのリストを持っており、それぞれに関連するブートストラップポップオーバー(docs here)を持っています。彼らはこのように開始されます。画面幅に基づいてブートストラップポップオーバーの位置を変更することはできますか?

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

これは動作しますが、小さな幅でポップオーバーは、ビューポートから失われます。プレースメントを$(document).width();に基づいて条件付きにしたいと思いますが、最初のオプションをオーバーライドする方法はありません(たとえば、幅が1000px、プレースメントを 'above'に切り替えるなど)。

簡略化したバージョンat jsfiddle hereをまとめました。どうもありがとう。

答えて

20

配置は、その値として機能を使用することもできます。この関数では、ビューポートの幅に基づいて適切な値を返すことができます。たとえば。左から

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

パーフェクトウィンドウでトップに - ありがとうございました。私は今、ちょっと愚かな気がする。 – CherryFlavourPez

+1

が機能しません。 popoverはまだエッジの下に行く。私はBS3を使用しています –

0

その変化の配置がより小さい768

placement: function(){return $(window).width()>768 ? "auto left":"auto top";} 
関連する問題