ブートストラップ ポップオーバーの動的ディスプレイスメント関数を作成しようとしています。コンテンツが大きすぎて垂直スクロールなしで「下」配置で画面に表示できない場合、「上」配置でポップオーバーが上向きに表示されます。
このために、関数を作成しました:
function popoverPlacement(popoverHeight, element) {
var offset = element.offset().top;
var height = popoverHeight;
var docheight = $(document).height();
if (offset + height >= docheight) {
return "top";
}
else {
return "bottom"
}
}
残念ながら、popoverHeight をハードコーディングされた値として指定する必要があります。これは、コンテンツがポップオーバー用に生成され、DOM に追加されないため、高さを取得できないためです。
使用方法は次のとおりです。
$(this).popover({
placement: function () { return popoverPlacement(270, this.$element); },
title: "Status",
trigger: "click",
content: editStatusContent,
html: true,
delay: {
show: 1,
hide: 1
},
animation: false
});
これを達成する動的な方法はありますか?
ありがとう