简体   繁体   English

Jasny Bootstrap-使用canvas避免按下主页:如何强制菜单重叠?

[英]Jasny Bootstrap - offcanvas avoid push of the main page: how to force menu to overlap?

I'm using the offcanvas.js by Jasny Bootstrap on Prestashop. 我在Prestashop上使用Jasny Bootstrapoffcanvas.js

My offcanvas menu, once a button is clicked, pushes the main page on the left and enters in slide from the left. 单击按钮后,我的offcanvas菜单将主页面推到左侧,然后从左侧进入幻灯片。

I would like to achieve this: 我想实现这一目标:

once the button is clicked the main page SHOULD NOT MOVE , the offcanvas should slide from left (as it is now) BUT, instead of pushing it, overlap the main page... 一旦单击主页上的按钮, SHOULD NOT MOVE ,offcanvas应该从左侧滑动(现在是这样),但不要按下它,而是将其重叠在主页上。

Which part of the offcanvas.js should I change? 我应该更改offcanvas.js的哪一部分?

It sounds like you're using the "push" instead of "slide" option. 听起来您正在使用“推”而不是“滑动”选项。 Use the class "offcanvas" and it should work. 使用“ offcanvas”类,它应该可以工作。 Check out these examples: http://www.jasny.net/bootstrap/examples/navmenu/ 查看以下示例: http : //www.jasny.net/bootstrap/examples/navmenu/

I wanted the slide-in for all views, so I simply used the "offcanvas" class, rather than the "offcanvas-sm" you see in the source code for the slide-in example: 我希望所有视图都使用滑入式,因此我只使用了“ offcanvas”类,而不是在滑入式示例的源代码中看到的“ offcanvas-sm”:

    <div class="navmenu navmenu-default navmenu-fixed-left offcanvas-sm">
  <a class="navmenu-brand visible-md visible-lg" href="#">Project name</a>
  <ul class="nav navmenu-nav">
    <li class="active"><a href="./">Slide in</a></li>
    <li><a href="../navmenu-push/">Push</a></li>
    <li><a href="../navmenu-reveal/">Reveal</a></li>
    <li><a href="../navbar-offcanvas/">Off canvas navbar</a></li>
  </ul>
  <ul class="nav navmenu-nav">
    <li><a href="#">Link</a></li>
    <li><a href="#">Link</a></li>
    <li><a href="#">Link</a></li>
    <li class="dropdown">
      <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
      <ul class="dropdown-menu navmenu-nav">
        <li><a href="#">Action</a></li>
        <li><a href="#">Another action</a></li>
        <li><a href="#">Something else here</a></li>
        <li class="divider"></li>
        <li class="dropdown-header">Nav header</li>
        <li><a href="#">Separated link</a></li>
        <li><a href="#">One more separated link</a></li>
      </ul>
    </li>
  </ul>
</div>

<div class="navbar navbar-default navbar-fixed-top hidden-md hidden-lg">
  <button type="button" class="navbar-toggle" data-toggle="offcanvas" data-target=".navmenu">
    <span class="icon-bar"></span>
    <span class="icon-bar"></span>
    <span class="icon-bar"></span>
  </button>
  <a class="navbar-brand" href="#">Project name</a>
</div>

I commented the line 155: 我评论了第155行:

//$('body').css(prop, padding)

And line 187: 和第187行:

//$(this).css(placement, 0)

and replaced all canvas-sliding with the class no-sliding ... 并用no-sliding类替换了所有canvas-sliding ...

it worked by attempt! 它尝试成功!

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM