Welcome toVigges Developer Community-Open, Learning,Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
415 views
in Technique[技术] by (71.8m points)

HTML 右边菜单栏如何在一定范围内滚动?

企业微信截图_15916095344716.png
企业微信截图_15916095654958.png

如两图所示,创建的右侧菜单栏会随着滚轮跑到上方的banner区域和下方footer区域。

代码内容在这个链接里:http://jsrun.net/iKvKp/edit

可打开看效果的链接:http://jsrun.net/user/explorer/

中间内容部分有单独设定区域,在HTML里面是article区域,想要右侧菜单栏在这个区域跟随鼠标滚动,不会进入上方的banner和下方的footer区域,要怎么设定?


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)
  • 右侧菜单 position:absolute 定位 放进 article 里 article 要relative 定位。
  • 然后 js监听页面scroll事件里面,通过 初始top值与页面的 scrollTop值作比较,动态设置 右侧菜单的 top 值。
scroll 事件{
    if(scrollTop>初始top值)
    {
        //说明向上滚要超过banner。 
        style.top = scrollTop
    }else if( scrollTop< (初始top值 - 屏幕高度 ) ){
        // 说明向下滚要超过footer。 
        style.top = scrollTop+屏幕高度
    }else{
        style. top = 初始top值
    }
}

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to Vigges Developer Community for programmer and developer-Open, Learning and Share
...