- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想要一个在小屏幕尺寸下可切换且在中等尺寸屏幕上始终可见的菜单。
行为应该(基本上)完全像这样demo here .
步骤是:
要实现这一点非常容易:
$(".click").click(function() {
$(".menu").toggleClass("hidden-md-down");
});
我现在的问题是,我想为这个显示和隐藏设置动画,但我无法通过类切换来实现。
所以我不得不依赖例如slideToggle()这就是我的问题所在,请参阅 demo here .
如果您现在转到小屏幕尺寸,隐藏菜单并使窗口尺寸变大,由于 hide() 函数,菜单
将不会出现。
我知道这可以通过 $(window).resize
来解决,但我绝对不想要该解决方案,因为对于这么小的功能来说,它的性能很糟糕。
那么我怎样才能让这个切换类带有动画或者在没有调整大小方法的情况下用 js 来实现呢?
最佳答案
我已将我的评论放入一个答案中:“为了获得最佳性能,请将窗口大小检查仅连接到浏览器调整大小的末尾,而不是每个阶段。”
此代码有效,它仅在窗口调整大小事件结束后运行 0.5 秒,而不是在此期间运行(性能更好)。运行整个页面的代码并挤压浏览器窗口以查看它的运行情况。
您可以选择运行菜单切换或停用它,而不是发送文本值#width 和#height;为此,我会删除您最初用来激活菜单的 js 类。
并使您的菜单成为无序列表,并使用 css 将其设置为在桌面上内联,在移动设备上设置为非元素符号列表。
$(window).resize(function() {
if(this.resizeTO) clearTimeout(this.resizeTO);
this.resizeTO = setTimeout(function() {
$(this).trigger('resizeEnd');
}, 500);
});
$(window).bind('resizeEnd', function() {
var widthReport = $("#width").text($(this).width());
var heightReport = $("#height").text($(this).height());
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="width"></div>
<div id="height"></div>
关于javascript - 如何制作一个在小屏幕上可切换但在大屏幕上始终可见的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43249094/
是否可以在 android list 文件中禁用对超大屏幕的支持?我们已经开发了一个应用程序,但还没有改变平板电脑的设计,所以我们想在以后的版本中禁用平板电脑支持。 我们使用 phonegap/htm
我查到的信息:320dp:典型的手机屏幕(240x320 ldpi、320x480 mdpi、480x800 hdpi 等)。480dp:类似 Streak 的补间数位板 (480x800 mdpi)
我创建了 4 个不同的布局文件并将它们放在 layout , layout-small,layout-large,layout-xlarge. 文件夹和在 QVGA、HVGA 和 WXGA 仿真器中测
我有一个名为 showPage 的节目转场从 View Controller 到 TableView Controller ,我正在调用 performSegueWithIdentifier()在单击
我是一名优秀的程序员,十分优秀!