javascript - 在所有浏览器中隐藏垂直滚动条

标签 javascript jquery css

在下面的代码中,我想在所有浏览器中不使用 overflow 属性隐藏第一个 block (div1) 的滚动条。

任何建议都会有所帮助。

fiddle : http://jsfiddle.net/mvn1ngby/12/

$('#div1').scroll(function(){
    $('#div2').scrollTop( $('#div1').scrollTop() );
});

$('#div2').scroll(function(){
    $('#div1').scrollTop( $('#div2').scrollTop() );
});
div.outer {
    display:inline-block;
    width:150px;
    height:320px;
    border:1px solid black;
    overflow-y:auto;
}

div.outer > div {
    height:3000px;
}
#div1 div {
  width:300px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="outer" id="div1">
    <div>
    </div>
</div>
<div class="outer" id="div2">
    <div>
    </div>
</div>

最佳答案

这是一个 hack,但有效。 这个想法是将滚动条的区域拉到视口(viewport)之外。

“拉”的大小应该是滚动条的宽度,通常是较宽的(在 Windows 上)

$('#div1').scroll(function() {
  $('#div2').scrollTop($('#div1').scrollTop());
});

$('#div2').scroll(function() {
  $('#div1').scrollTop($('#div2').scrollTop());
});
div.outer {
  display: inline-block;
  overflow: hidden;
  border: 1px solid black;
}

#div1>div,
#div2>div {
  height: 3000px;
}

.scrollable {
  width: 150px;
  height: 320px;
  overflow-y: auto;
}

#div1 {
  margin-right: -25px;
  padding-right: 25px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="outer">
  <div class="scrollable" id="div1">
    <div></div>
  </div>
</div>
<div class="outer">
  <div class="scrollable" id="div2">
    <div></div>
  </div>
</div>

关于javascript - 在所有浏览器中隐藏垂直滚动条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46235286/

相关文章:

javascript - 谁能推荐一本 Dojo 和 JSON 的书?

php - jQuery获取div内容并通过ajax发送到php脚本

css - 链接悬停动画下划线

css 网格可变列宽和换行

Javascript 闭包变量性能

javascript - 如何从 JavaScript 数组中获取值?

javascript - Angular JS View 未更新

c# - 打开对话框后有条件地将 JQuery 对话框的大小调整为内容高度

javascript - js对不同的div相同的onclick

jquery - 希腊字母符号