tianxiacangshen
V2EX  ›  jQuery

实现滚动条离顶端一定距离之后异步加载广告

  •  
  •   tianxiacangshen · Aug 24, 2017 · 5137 views
    This topic created in 3196 days ago, the information mentioned may be changed or developed.
    谷歌广告推荐异步加载,于是我写了段代码,检测滚动条的位置,一旦大于 1000px,就异步加载广告代码

    var height=$(window).scrollTop();
    if(height > 1000){
    $('#div').load(url);
    }

    但是不行,这个会被执行很多次,怎么才能执行一次?
    7 replies    2017-08-24 11:37:27 +08:00
    hzw758
        1
    hzw758  
       Aug 24, 2017
    设置个 flag,默认值为 true,执行代码前先判断 flag,执行过之后把 flag 设为 false
    jy02534655
        2
    jy02534655  
       Aug 24, 2017
    或者执行之后停止监听滚动条滚动事件
    SourceMan
        3
    SourceMan  
       Aug 24, 2017
    .on .off
    tianxiacangshen
        4
    tianxiacangshen  
    OP
       Aug 24, 2017
    @jy02534655 有多处要监听,所以也不能第一次检测到就停止监听
    tianxiacangshen
        5
    tianxiacangshen  
    OP
       Aug 24, 2017
    @jy02534655
    @hzw758

    这样可以

    var load1=true;
    var load2=true;
    $(window).scroll(function(){
    var height=$(window).scrollTop();
    if(height > 600 && load1){
    load1=false;
    $('#load-1').load(Url+'/ad/1');
    }
    if(height > 1000 && load2){
    load2=false;
    $('#load-2').load(Url+'/ad/2');
    }
    });
    weer0026
        6
    weer0026  
       Aug 24, 2017
    再加个 throttle 更好吧。
    SakuraKuma
        7
    SakuraKuma  
       Aug 24, 2017
    在需要加载的容器 one 一个自定义事件,到达的时候 triggerHandler。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1350 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 68ms · UTC 17:03 · PVG 01:03 · LAX 10:03 · JFK 13:03
    ♥ Do have faith in what you're doing.