为了账号安全,请及时绑定邮箱和手机立即绑定

js悬浮代码有冲突

js悬浮代码有冲突

蝴蝶不菲 2018-09-14 14:14:36
这个是悬浮在顶部代码     var header = document.querySelector('header');        var origOffsetY = header.offsetTop;        function onScroll(e) {          window.scrollY >= origOffsetY ? header.classList.add('head_fixed') : header.classList.remove('head_fixed');        }        document.addEventListener('scroll', onScroll);     这个是悬浮在底部代码    var aside = document.querySelector('aside');    var origOffsetY = aside.offsetTop;    function onScroll(e) {      window.scrollY >= origOffsetY ? aside.classList.add('aside_fixed') : aside.classList.remove('aside_fixed');    }    document.addEventListener('scroll', onScroll);    上面两个代码有些冲突,请问是哪里不对呢?
查看完整描述

1 回答

?
偶然的你

TA贡献1841条经验 获得超3个赞

换个函数名字就行了;

var header = document.querySelector('header');

var origOffsetY = header.offsetTop;

function onScrollHeader(e) {

    window.scrollY >= origOffsetY ? header.classList.add('head_fixed') : header.classList.remove('head_fixed');

}

document.addEventListener('scroll', onScrollHeader);

var aside = document.querySelector('aside');

var origOffsetY = aside.offsetTop;

function onScrollAside(e) {

    window.scrollY >= origOffsetY ? aside.classList.add('aside_fixed') : aside.classList.remove('aside_fixed');

}

document.addEventListener('scroll', onScrollAside);

如果放在一起,可以这样写:

var header = document.querySelector('header');

var aside = document.querySelector('aside');

var origOffsetY = aside.offsetTop;

function onScroll(e) {

    if( window.scrollY >= origOffsetY ){

        header.classList.add('head_fixed')

        aside.classList.add('aside_fixed');

    }else{

        header.classList.remove('head_fixed');

        aside.classList.remove('aside_fixed');

    }

}

document.addEventListener('scroll', onScroll);


查看完整回答
反对 回复 2018-10-08
  • 1 回答
  • 0 关注
  • 547 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信