Javascript 滚动后是否再次停止加载iframe?

Javascript 滚动后是否再次停止加载iframe?,javascript,iframe,Javascript,Iframe,我有一个带有iframe的页面。。。目前我使用此代码加载iframe onscroll Javascript: function lazyLoad() { for (var e = document.getElementsByClassName("lazy"), t = 0; t < e.length; t++) isInViewport(e[t]) && (e[t].src = e[t].getAttribute("data-src")) } func

我有一个带有iframe的页面。。。目前我使用此代码加载iframe onscroll

Javascript:

function lazyLoad() {
    for (var e = document.getElementsByClassName("lazy"), t = 0; t < e.length; t++) isInViewport(e[t]) && (e[t].src = e[t].getAttribute("data-src"))
      }
function isInViewport(e) {
    var t = e.getBoundingClientRect();
    return t.bottom >= 0 && t.right >= 0 && t.top <= (window.innerHeight || document.documentElement.clientHeight) && t.left <= (window.innerWidth || document.documentElement.clientWidth)
}
function registerListener(e, t) {
    window.addEventListener ? window.addEventListener(e, t) : window.attachEvent("on" + e, t)
}
registerListener("load", lazyLoad), registerListener("scroll", lazyLoad);
函数lazyLoad(){
对于(var e=document.getElementsByClassName(“lazy”),t=0;t返回t.bottom>=0&&t.right>=0&&t.top启动滚动事件侦听器后,必须将其删除:

function onScroll () {
    if (lazyLoad()) {
        window.removeEventListener('scroll', onScroll);
    }
}
function onLoad () {
    lazyLoad();
}
function lazyLoad() {
    var loaded = false;
    for (var e = document.getElementsByClassName("lazy"), t = 0; t < e.length; t++) {
        isInViewport(e[t]) && (e[t].src = e[t].getAttribute("data-src"));
        loaded = true;
    }
    return loaded;
}
function isInViewport(e) {
    var t = e.getBoundingClientRect();
    return t.bottom >= 0 && t.right >= 0 && t.top <= (window.innerHeight || document.documentElement.clientHeight) && t.left <= (window.innerWidth || document.documentElement.clientWidth)
}
function registerListener(e, t) {
    window.addEventListener ? window.addEventListener(e, t) : window.attachEvent("on" + e, t)
}
registerListener("load", onLoad), registerListener("scroll", onScroll);
函数onScroll(){
if(lazyLoad()){
window.removeEventListener('scroll',onScroll);
}
}
函数onLoad(){
懒散的负荷();
}
函数lazyLoad(){
var-load=false;
对于(var e=document.getElementsByClassName(“lazy”),t=0;t返回t.bottom>=0&&t.right>=0&&t.top您希望在页面加载时调用lazyLoad一次,在用户滚动时调用lazyLoad一次,对吗?是的,并且在用户滚动时不会再次调用,但在我滚动(第一次)时不会加载iframe,我必须滚动到页面底部,然后刷新页面以创建iframeloaded@BangJarwo好的,那么您想在加载iframe之后删除滚动侦听器,对吗?是的,在加载iframe之后loaded@BangJarwo我更新了答案,因此只有在加载iframe后才会删除侦听器
function onScroll () {
    if (lazyLoad()) {
        window.removeEventListener('scroll', onScroll);
    }
}
function onLoad () {
    lazyLoad();
}
function lazyLoad() {
    var loaded = false;
    for (var e = document.getElementsByClassName("lazy"), t = 0; t < e.length; t++) {
        isInViewport(e[t]) && (e[t].src = e[t].getAttribute("data-src"));
        loaded = true;
    }
    return loaded;
}
function isInViewport(e) {
    var t = e.getBoundingClientRect();
    return t.bottom >= 0 && t.right >= 0 && t.top <= (window.innerHeight || document.documentElement.clientHeight) && t.left <= (window.innerWidth || document.documentElement.clientWidth)
}
function registerListener(e, t) {
    window.addEventListener ? window.addEventListener(e, t) : window.attachEvent("on" + e, t)
}
registerListener("load", onLoad), registerListener("scroll", onScroll);