そのdivが表示されたときにdivのコンテンツを更新するAJAXリクエストを作成しようとしています。私の最初の考えは、表示される div を監視する Event オブザーバーを使用することでしたが、適切なハンドラーが見つからないようです。「表示中」の要素に対して AJAX リクエストを行う簡単な方法はありますか?
1 に答える
0
「オンショー」とは、ブラウザのビューポート内に表示されることを意味すると思います。その場合、要素がビューポート内にあるかどうかを確認し、これを変更するものを観察する必要があります。
これは、要素がビューポート内にあるかどうかを確認するための基本的な関数です。
function withinViewport(el) {
var elOffset = $(el).cumulativeOffset(el);
vpOffset = document.viewport.getScrollOffsets();
elDim = $(el).getDimensions();
vpDim = document.viewport.getDimensions();
if (elOffset[1] + elDim.height < vpOffset[1] || elOffset[1] > vpOffset[1] + vpDim.height ||
elOffset[0] + elDim.width < vpOffset[0] || elOffset[0] > vpOffset[0] + vpDim.width) {
return false;
}
return true;
}
次に、たとえば、スクロールイベントを観察して、要素がビューに移動したかどうかを確認できます
Event.observe(window, 'scroll', function() {
if(withinViewport('element')){
new Ajax.Updater("element","script.php");
}
});
于 2010-05-25T08:31:44.137 に答える