jquery – 如何获取一个iframe的scrollTop

前端之家收集整理的这篇文章主要介绍了jquery – 如何获取一个iframe的scrollTop前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
当window是一个iframe时,jQuery的scrollTop返回null.有谁能够弄清楚如何获取一个iframe的scrollTop?

更多信息:

我的脚本正在运行在iframe本身,父窗口在另一个域,所以我无法访问iframe的ID或任何类似的

解决方法

您可以使用此设置设置scrollTop:
$("html,body").scrollTop(25);

所以你可以尝试这样做:

$("html,body").scrollTop();

因为不同的浏览器将scrollTop设置在不同的元素(body或html)上.

从scrollTo插件

但是在某些浏览器中可能仍然会失败.以下是Ariel Flesher’s scrollTo plugin for jQuery代码的相关部分:

// Hack,hack,hack :)
// Returns the real elements to scroll (supports window/iframes,documents and regular nodes)
$.fn._scrollable = function(){
  return this.map(function(){
    var elem = this,isWin = !elem.nodeName || $.inArray( elem.nodeName.toLowerCase(),['iframe','#document','html','body'] ) != -1;

    if( ! isWin ) {
      return elem;
    }


    var doc = (elem.contentWindow || elem).document || elem.ownerDocument || elem;

     return $.browser.safari || doc.compatMode == 'BackCompat' ?
       doc.body : 
       doc.documentElement;
  });
};

然后您可以运行:

$(window)._scrollable().scrollTop();

确定iframe向下滚动的距离.

猜你在找的jQuery相关文章