Как получить scrollTop iframe

блог Steve Vinoski и его последние статьи определенно стоит просмотреть. Он - бывший гуру CORBA, который записал, вероятно, лучшую книгу по предмету с Michi Henning, "Усовершенствованный CORBAВ® Programming с C++" . Однако он с тех пор видел ошибку своих клиент-серверных путей, и теперь клянется REST.

19
задан Zanon 1 February 2017 в 14:50
поделиться

1 ответ

Вы можете установить scrollTop , используя эту настройку:

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

Таким образом, вы можете попробовать получить его следующим образом:

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

Поскольку разные браузеры устанавливают scrollTop для разных элементов (body или html).

Из подключаемого модуля scrollTo:

Но это, вероятно, все равно не сработает в некоторых браузерах. Вот соответствующий раздел исходного кода подключаемого модуля scrollTo Ариэля Флешера для 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 прокручено вниз.

11
ответ дан 30 November 2019 в 02:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: