首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >显示父水平滚动条和子垂直滚动条

显示父水平滚动条和子垂直滚动条
EN

Stack Overflow用户
提问于 2013-02-28 20:48:29
回答 1查看 1.7K关注 0票数 1

我有一个如下所示的自定义时间线视图:http://jsfiddle.net/B4xRb/1/

内部垂直滚动只影响标题下的行。父水平滚动会影响整个时间线。

代码语言:javascript
复制
<div class="parentDiv">
    <div class="monthHeader"></div>
    <div class="lanes"></div>
</div>

然而,我如何构造这个结构,使垂直滚动条可以看到没有。

  • 调整行数据,因为它可以非常宽。
  • 首先向右滚动,所以当您加载页面时,两个滚动条都是可见的。
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-28 23:07:27

下面是我想出的解决方案,使用jQuery:http://jsfiddle.net/eB8WQ/6/

首先,要隐藏第二个垂直滚动条外的内容,请添加以下代码

代码语言:javascript
复制
html, body {
    overflow-y: hidden;
}

对于.lanes,您希望隐藏水平滚动条并将初始width设置为100%。

代码语言:javascript
复制
width: 100%;
overflow-x: hidden;

接下来,要使用的javascript在滚动时将.lanes的宽度设置为100% (以避免混乱的闪烁问题),在完成滚动时,它将计算水平滚动条的位置,并将该值添加到body元素的宽度中。使用$.data函数存储值。

关于$.datahttp://api.jquery.com/jQuery.data/的更多信息

代码语言:javascript
复制
$('.parentDiv').scroll(function() {
        $('.lanes').css("width", $('.monthHeader').width());
});
$('.parentDiv').scroll(function() {
    clearTimeout($.data(this, 'scrollTimer'));
    $.data(this, 'scrollTimer', setTimeout(function() {
        $('.lanes').css("width", $('.parentDiv').scrollLeft() + $('body').width() + "px");
    }, 100));
});

一些来自this previous answer的代码。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15145354

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档