javascript - 如何修复DIV水平滚动时允许滚动并垂直滚动时允许滚动?

标签 javascript html scroll position

我有一个问题。我的网页太宽,大约是屏幕宽度的 3 倍。我允许该网页水平和垂直滚动。但现在我添加了一个菜单栏。我这里有一个问题。我希望我的菜单栏 DIV 随页面垂直滚动,但当访问者水平滚动我的网页时可以修复。如何做到这一点?

注意:首先我想要CSS代码,如果无法做到这一点,那么纯JavaScript代码(没有JQuery)。 问题演示:www.jsfiddle.net/X8s4X

最佳答案

感谢您阅读我的问题。我自己找到了解决方案,现在在下面分享该代码。我还在 www.jsfiddle.net/X8s4X/1/ 创建了一个实时演示,以便快速查看。

<script type='text/javascript'>
window.onscroll = xScroll;
function xScroll(){
 var x = window.pageXOffset;
 var y = window.pageYOffset;
    if (x){
    document.getElementById('one').style.position = 'fixed';
    }
    if (y){
    document.getElementById('one').style.position = 'relative';    
    }
}
</script>
<style type='text/css'>
div#wrapper {
    width:2000px;
    margin:0;
    padding:0;
}
div#one {
    height: 50px;
    background: #ddd;
    width: 100vw;
}
div#two {
    background: #efefef;
}
</style>
<div id="wrapper">
<div id="one">
This DIV Should Be Fixed When Scroll Horizontally And Will Be Scroll Able When Scroll Vertically.
</div>
<div id="two">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. In nec consequat ante. Proin sit amet mauris pretium, tristique risus et, eleifend enim. Phasellus gravida enim a lorem aliquet semper. Duis placerat sed dui ut feugiat. Curabitur elementum eu leo eget vestibulum. Praesent vel condimentum est. Nullam dignissim, nulla eu tincidunt tempor, sem turpis interdum elit, non rhoncus orci ante sit amet lectus. Vivamus ut dolor id tortor venenatis semper. Ut id tortor consectetur, pretium felis a, vehicula massa. Integer ultrices dui id nisl accumsan, eu dictum sapien mollis. Vivamus volutpat dignissim fringilla. Aenean vitae felis consectetur, tincidunt augue quis, fringilla augue. Nam ultrices lobortis quam eget rhoncus. Fusce eu ante ut mauris fermentum euismod non et nisl. Nulla posuere rutrum massa non malesuada.   
</div>
</div>

关于javascript - 如何修复DIV水平滚动时允许滚动并垂直滚动时允许滚动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23319671/

相关文章:

javascript - 我无法使用 multer 和express 上传图像

javascript - 对于 userAgent.match(),最后的 "/i"是什么意思?

html - CSS:我不希望容器在彼此下方移动

javascript - 设置输入文本框中输入的最小数值

javascript - jQuery 检测滚动到达底部不适用于移动浏览器

javascript - Jquery移动滚动到新页面底部

javascript - Meteor:通过 ID 更新数据库中的多个条目

javascript - tinyMCE.get ("content") 未定义

html - 为什么我在一种形式的最后一个元素和第二种形式的第一个元素之间有差距?

javascript - 如何在文档末尾上方 300px 处触发事件