【发布时间】:2016-02-02 21:42:02
【问题描述】:
大家!
我只是想知道是否有人可以向我介绍如何在以下代码中添加调整大小事件:
/* Your code goes here */
var $ = jQuery,
breakpoint = 940,
initClass = 'toggleSubnavInitiated',
menu,
parentLinks,
childrenItems;
$(document).ready(function() {
menu = $('.menu');
parentLinks = menu.find('.menu-item-has-children > a');
childrenItems = menu.find('.sub-menu');
if ($(window).width() <= breakpoint) {
toggleSubnav(menu, parentLinks, childrenItems);
}
});
$(window).resize(function() {
if ($(window).width() <= breakpoint) {
toggleSubnav(menu, parentLinks, childrenItems);
}
});
function toggleSubnav(menu, parentLinks, childrenItems) {
if (parentLinks.length !== 0) {
menu.addClass(initClass);
childrenItems.hide();
parentLinks.on('click', function(event) {
event.preventDefault();
$(this).siblings('.sub-menu').toggle();
});
}
}
在这段代码中似乎有一个,但是当浏览器从移动站点切换到桌面站点时,它似乎没有调整大小。在 Chrome 上,我能够获得 941 像素作为从移动设备切换到桌面设备的断点。我猜这个脚本中包含的 940 像素是从桌面到移动的吗?桌面到移动似乎运行正常。当窗口以 941 像素从移动设备变为桌面时,任何人对如何添加调整大小事件有任何想法?
谢谢大家的帮助!
附:我刚加入这里,所以请放轻松! ;)
【问题讨论】:
-
你有一个合法的 resize() 事件分配给窗口。你在这段代码中有什么问题?当你从桌面切换到移动时,你是怎么做的?使用 Chrome 网络开发者工具?
-
我真的不明白你的问题是什么......你的调整大小事件和回调看起来像是正确定义的。当您使用 Chrome 时,您的代码是否有效?
-
对不起,我刚刚更新了评论。我意识到这很混乱。我注意到的问题是,当窗口从移动站点转到桌面站点时,它没有自动刷新页面。从移动站点到桌面站点的断点是 941px。 940 px 的调整大小事件似乎需要从桌面转到移动设备。我想我只是错过了另一个从移动设备到桌面的调整大小事件(即 941 像素)?
-
调整大小函数中的其他条件
-
那会是什么样子?这段代码是有人给我的,我不太清楚如何将 else 函数合并到这个中
标签: javascript jquery resize window