首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >桌面上禁用Sidr.js菜单

桌面上禁用Sidr.js菜单
EN

Stack Overflow用户
提问于 2015-04-17 12:40:44
回答 4查看 843关注 0票数 3

我使用的是www.berriart. from /sidr/ jQuery脚本,它从我的HTML菜单中创建了边菜单。它的工作原理很完美,但我想在分辨率大于480 on的分辨率上显示“标准”菜单,在分辨率低于480 on的分辨率上显示sidemenu。

我用以下方式触发它:

代码语言:javascript
复制
<script>
$(document).ready(function() {
  $('#simple-menu').sidr();
});
</script>

我想知道如何将这个脚本限制在屏幕低于480 is时才能运行?

对不起,这里的JS新手:)

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2015-04-17 12:50:50

你可以用

$(窗口).width()$(窗口).height()

获得屏幕的宽度和高度,并相应地使用它。

代码语言:javascript
复制
<script>
$(document).ready(function() {
  var width = $(window).width();
   if (width<=480) {
     $('#simple-menu').sidr();
   }
  else
  {
     // you could call the other version of the slider.
   }
});
</script>
票数 1
EN

Stack Overflow用户

发布于 2016-07-07 20:29:11

其他解决方案只在页面加载时工作一次,如果您想要一个在页面加载和页面调整或移动方向更改上工作的解决方案。用这个。

代码语言:javascript
复制
var state = 'undefined';
$('#responsive-menu-button').sidr({
  name: 'sidr-main',
  source: '#navigation'
});

$('#responsive-menu-button').off('click').click(function(e){
  e.preventDefault();
  if(state == 'close'){
    $.sidr('open','sidr-main', function(){ state = 'open'; });
  } else {
    $.sidr('close','sidr-main', function(){ state = 'close'; });
  }
});

var deviceWidth = $(window).width();
var breakWidth = 480;
if(state == 'undefined'){
  if(deviceWidth <= breakWidth) {
    state = 'close';
  } else {
    setTimeout(function(){
      $.sidr('open','sidr-main', function(){ state = 'open'; });
    }, 100);
  }
}

$(window).off('resize').bind('resize', function () {
    deviceWidth = $(window).width();
    if(deviceWidth > breakWidth && state == 'close') {
      $.sidr('open','sidr-main', function(){ state = 'open'; });
    }
    if(deviceWidth <= breakWidth && state == 'open') {
      $.sidr('close','sidr-main', function(){ state = 'close'; });
    }
});
票数 1
EN

Stack Overflow用户

发布于 2015-04-17 12:48:33

查看Sidr:http://berriart.com/sidr/#documentation文档/示例页面中的以下示例,标题为"Responsive“一节。当屏幕大小小于767 is时,它利用媒体查询只显示移动标题,否则不显示。您可以修改此示例以实现所需的效果。

代码语言:javascript
复制
<style>
#mobile-header {
    display: none;
}
@media only screen and (max-width: 767px){
    #mobile-header {
        display: block;
    }

    #navigation {
        display: none;
    }
}
</style>

<div id="mobile-header">
    <a id="responsive-menu-button" href="#sidr-main">Menu</a>
</div>

<div id="navigation">
    <nav class="nav">
        <ul>
            <li><a href="#download">Download</a></li>
            <li><a href="#getstarted">Get started</a></li>
            <li><a href="#usage">Demos &amp; Usage</a></li>
            <li><a href="#documentation">Documentation</a></li>
            <li><a href="#themes">Themes</a></li>
            <li><a href="#support">Support</a></li>
        </ul>
    </nav>
</div>

<script>
    $('#responsive-menu-button').sidr({
      name: 'sidr-main',
      source: '#navigation'
    });
</script>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29699517

复制
相关文章

相似问题

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