账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    页面滚动到某一位置 侧导航显示并且执行函数
    22
    0

    问题描述

    需求是页面滚动到某一位置 侧导航显示并且执行一个函数 函数是根据时间进行dom操作 现在问题是当函数执行时候滚动滑轮 就会加快时间 每个dom操作都会加快

    问题出现的环境背景及自己尝试过哪些方法

    刚开始以为是跟节流函数有关系试过之后还是有问题

    相关代码

    // window.onscroll = throttle(function () {

    let scrollTop = document.body.scrollTop || document.documentElement.scrollTop;
    if(scrollTop >= 360){
        inter = setInterval("fun()",200);
        $('#rightnav').fadeIn(500);
    }else{    
        $('#rightnav').fadeOut(500);    
    }  

    },800)
    var t = 10.2;
    function fun(){
    if(t>-1){t=t-0.2;}
    console.log(t)
    if(t>=10.01){

    $('.contact').addClass('black');

    }else if(t>=9.81){

    $('.contact').removeClass('black');
    $('.contact').addClass('white');

    }else if(t>=9.61){

    $('.contact').removeClass('white');
    $('.contact').addClass('black');

    }
    else if(t>=9.41){

    $('.contact').removeClass('black');
    $('.contact').addClass('white');

    }else if(t>=9.21){

    $('.contact').removeClass('white');
    $('.contact').addClass('black');

    }
    else if(t>=9.01){

    $('.contact').removeClass('black');
    $('.contact').addClass('white');

    }
    else if(t>=8.81){

    $('.contact').removeClass('white');
    $('.contact').addClass('smile1');

    }else if(t>=8.61){

    $('.contact').removeClass('smile1');
    $('.contact').addClass('smile2');
    $('.contact span').css('display','block');
    $('.contact-duihua').css('display','block')

    }else if(t>=8.41){

    var index=0;

        var word='点击此处';
        function type(){
            document.getElementById("clickthis").innerText = word.substring(0,index++);
        }
        setInterval(type, 50);
    }else if(t>=8.21){

    var index=0;

        var word='我们马上联系您';
        function type1(){
            document.getElementById("ournow").innerText = word.substring(0,index++);
        }
        setInterval(type1, 50);
    }else if(t>=0.61){

    // console.log('等待')
    $('.contact span').css('display','block');

    }else if(t>=0.41){

    $('.contact').removeClass('smile2');
    $('.contact').addClass('smile1');

    }else if(t>=0.21){

    $('.contact-duihua').hide(200);
    $('.contact span').hide(200);

    }else if(t<=0){

    clearInterval(inter);
    // console.log('da'+t)

    }

    你期待的结果是什么?实际看到的错误信息又是什么?

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 一半爱情 普通会员 1楼
      502 Bad Gateway

      502 Bad Gateway


      nginx
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部