1. 程式人生 > >前端面試之如何獲取一個iframe的scrollTop

前端面試之如何獲取一個iframe的scrollTop

前端面試之如何獲取一個iframe的scrollTop

我的指令碼正在執行在iframe本身,父視窗在另一個域,所以我無法訪問iframe的ID或任何類似的

前端面試之如何獲取一個iframe的scrollTop

您可以使用此設定設定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向下滾動的距離
本次給大家推薦一個免費的學習群,裡面概括移動應用網站開發,css,html,webpack,vue node angular以及面試資源等。
對web開發技術感興趣的同學,歡迎加入Q群:864305860,不管你是小白還是大牛我都歡迎,還有大牛整理的一套高效率學習路線和教程與您免費分享,同時每天更新視訊資料。
最後,祝大家早日學有所成,拿到滿意offer,快速升職加薪,走上人生巔峰。