jquery - 在移动设备上滚动内容溢出的固定 div

标签 jquery html css mobile responsive-design

我有一个响应式网站,并为手机构建了一个类似于 Facebook 的 slider 。所以我做了一个非常简单的设置,到目前为止效果非常好。我将所有内容都放在一个充满整个 body 的 .outer_wrapper 中。在这个包装器下是一个带有以下 CSS 的 .slider div:

.slider {
   position: fixed;
   height: 100%;
   right: 0;
   top: 0;
   width: 250px;
}

当我按下触发器时,它会将 .outer_wrapper 向左移动并出现 .slider

$('.hamburger-menu').click(function() { 
   $('.outer_wrapper').animate({marginLeft: '-250px', marginRight: '-250px'}, 'slow');
});

问题是,.slider 有溢出的内容,但在手机上它拒绝滚动。它总是滚动 .outer_wrapper 的内容。我尝试了 -webkit-overflow-scrolling:touch;overflow-y: scroll;

编辑: 忘记提及 .slider 不是 .outer_wrapper 的子项。所以我的 body 结构如下:

<body>
  <div class=".outer_wrapper">
    <!-- all the lovely content is here -->
  </div>
  <div class="slider">
    <!-- some menu items here -->
  </div>
</body>

有什么建议吗?

最佳答案

我的建议是将 .slider 放置在 .outer_wrapper 之外。然后通过切换它们的类并使用 css 转换来为它们制作动画。这样,当用户向下滑动页面时,它们就不会相互冲突。

试试这个

 .slider {
    position:fixed;
    height:100%;
    width:250px;
    top:0;
    left:0;

    -webkit-transform:translate(-250px,0px);
    transform:translate(-250px,0px);

    -webkit-transition:all 0.3s ease-out;
    transition:all 0.3s ease-out;
 }

 .slider.reveal {
      -webkit-transform:translate(0px,0px);
      transform:translate(0px,0px);
 }


 .outer_wrapper {
    margin:0;
    width:100%;
    height:100%;
    position:relative;
    -webkit-transform:translate(0px,0px);
    transform:translate(0px,0px);

    -webkit-transition:all 0.3s ease-out;
    transition:all 0.3s ease-out;
 }


 .outer_wrapper.hide {
      -webkit-transform:translate(250px,0px);
      transform:translate(250px,0px);
 }

对于 Jquery,使用 toggleClass 函数如下:

 $('.hamburger-menu').click(function() { 
      $('.outer_wrapper’).toggleClass(‘hide’);
      $(‘.slider’).toggleClass(‘reveal’);
 });

希望这对您有所帮助?

关于jquery - 在移动设备上滚动内容溢出的固定 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26703055/

相关文章:

html - 表格在手机上不可见

html - 从小屏幕切换到大屏幕时,基础顶部栏部分没有响应

css - 位置转换在 Edge 中不起作用

php - 如何阻止用户多次按下按钮

javascript - 如何在 Canvas 中画线

jquery - 仅在 X 轴上模糊

css - Box-shadow 在我的网络服务器上的 IE 中不起作用

jQuery 通过类和属性获取

javascript - 在垂直移动图像时遇到用户输入问题

php - 在 codeigniter 错误的 View 中加载 css