导航菜单不会根据屏幕大小从悬停切换到切换
Navigation menu not switching from hover to toggle based on the screen size
当屏幕宽度小于769px时,如何使网页按钮从悬停切换到切换。悬停或切换脚本是根据浏览器启动时的大小选择的,在更改大小时无法切换。
$(document).ready(myFunction);
function myFunction() {
var ww = document.body.clientWidth;
if (ww < 769) {
$(".button").click(function() {
$("ul").toggle();
});
} else {
$(".button").hover(function() {
$("ul").toggle();
});
}
}
.button {
display: hidden
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<a href="#" class="button">Men</a>
<ul class="menu">
<li>
<a href="#">Link 1</a>
</li>
<li>
<a href="#">Link 2</a>
</li>
<li>
<a href="#">Link 3</a>
</li>
</ul>
添加文档就绪和调整大小事件,两者结合在一起,以确定文档何时就绪以及窗口何时调整大小。
我对事件进行了改进,看看on()
函数
$(document).ready(myFunction);
$(window).on('resize', myFunction);
function myFunction() {
var event;
var ww = document.body.clientWidth;
if (ww < 769) {
event = "click";
} else {
event = "hover";
}
// here is the improvement
$(".button").on(event, function() {
$("ul").toggle();
});
}
.button {
display: hidden
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<a href="#" class="button">Men</a>
<ul class="menu">
<li>
<a href="#">Link 1</a>
</li>
<li>
<a href="#">Link 2</a>
</li>
<li>
<a href="#">Link 3</a>
</li>
</ul>
click
和hover
用于添加不触发事件的事件处理程序,以手动使事件使用trigger()
。
相关文章:
- 如何将屏幕分辨率乘以 80%,然后在代码中使用
- 当鼠标悬停在文本中的单词上时显示警报
- 每当您在选择器内移动鼠标时,悬停功能就会重复
- 手风琴可点击并悬停
- 在不打开聊天屏幕的情况下制作Zopim-ding代理
- 悬停功能触发器
- 如何在鼠标悬停时在另一个图像上滑动图像.
- 鼠标悬停事件影响列表中所有行中的按钮,而不仅仅是特定按钮
- 引导程序:在导航栏中,显示悬停在单个位置的基于Li Link的不同内容
- css(或jQuery)悬停时淡入淡出
- 使用图像数组列表的simplegallary.js显示适合桌面屏幕的图像
- jquery快速悬停问题
- jQuery:当屏幕大小改变时,如何更改默认图像和悬停图像
- 仅在特定屏幕大小上悬停
- 如何从移动响应屏幕中删除悬停功能
- “鼠标悬停”中的对象屏幕关闭
- 如何在悬停时更改屏幕区域的背景色
- 导航菜单不会根据屏幕大小从悬停切换到切换
- 当我将屏幕尺寸缩小到Bootstrap's中、小或超小,我的点击处理程序停止工作,css悬停属性也停止工作
- 调整屏幕大小时无法删除悬停效果