Ruby on rails 原型“正在播放”事件。观察处理程序

Ruby on rails 原型“正在播放”事件。观察处理程序,ruby-on-rails,ajax,prototypejs,show-hide,Ruby On Rails,Ajax,Prototypejs,Show Hide,我试图发出一个AJAX请求,在显示div时更新该div的内容。我最初的想法是使用一个事件观察者来观察div的显示,但我似乎找不到合适的处理程序。有没有一种简单的方法可以对“on show”元素发出AJAX请求?我想你的意思是“on show”元素在浏览器视口中可见。在这种情况下,您需要检查某个元素是否在视口中,然后观察任何可能改变此情况的内容 这是一个基本函数,用于检查元素是否在视口中: function withinViewport(el) { var elOffset = $(el)

我试图发出一个AJAX请求,在显示div时更新该div的内容。我最初的想法是使用一个事件观察者来观察div的显示,但我似乎找不到合适的处理程序。有没有一种简单的方法可以对“on show”元素发出AJAX请求?

我想你的意思是“on show”元素在浏览器视口中可见。在这种情况下,您需要检查某个元素是否在视口中,然后观察任何可能改变此情况的内容

这是一个基本函数,用于检查元素是否在视口中:

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