我正在尝试将一个推出式菜单插件(Responsive Menu)正确地实现到WordPress主题中。根据SO @Congrim的回答,我已经成功找到一种方法,在推出式菜单打开时锁定
删除jQuery包装不会在浏览器控制台中产生任何错误(已在Chrome中测试),但是可能仍然是一种在WordPress中包装代码的不良方法。 在这些条件下,不幸的是,
问题: 是否有可能强制代码实现解决方法,以便具有交互式链接
请仅关注交互式链接问题,场景的其余部分都正常(
LE:*
LE2:通过外包WordPress,
网站测试页面在此处。
body
滚动(包括header
固定在所有元素上),除了交互链接class=edge-ils edge-ils-with-scroll edge-ils-light
将在推出式菜单打开时仍然向上移动。
我把这个顺序保存在congrim.js
文件中,我在functions.php
文件中将脚本引入主题:
function lockScroll() {
if ($('body').hasClass('lock-scroll')) {
$('body').removeClass('lock-scroll');
}
else {
$('body').addClass('lock-scroll');
}
}
/* I've implemented `onclick="lockScroll();"` in button element,
* using this sequence in the same congrim.js file:
*/
$(document).ready(function() {
$('#responsive-menu-pro-button').click(function() {
lockScroll();
});
});
删除jQuery包装不会在浏览器控制台中产生任何错误(已在Chrome中测试),但是可能仍然是一种在WordPress中包装代码的不良方法。 在这些条件下,不幸的是,
overflow: hidden;
不起作用,在推送菜单打开时,我无法在CSS文件/部分中使用此类。.lock-scroll {
overflow: hidden;
}
这段代码将允许我只使用
.lock-scroll {
position: fixed;
}
问题: 是否有可能强制代码实现
overflow: hidden;
*或其他class=edge-ils edge-ils-with-scroll edge-ils-light
在打开推送菜单时不上移,并保持查看者在打开菜单前单击的位置固定?请仅关注交互式链接问题,场景的其余部分都正常(
header
和logo
的位置正确,背景图片也正常)。LE:*
overflow: hidden;
看起来会在打开/关闭菜单时产生不需要的位移效果,在显示/隐藏滚动条期间,这种情况并未发生。LE2:通过外包WordPress,
congrim.js
文件已被替换为body-lock.min.js
,请参见以下解决方案。网站测试页面在此处。