javascript - 在 jquery 中调整视口大小时禁用和启用滚动窗口
问题描述
我在这里有一个带有下拉菜单的导航栏,当我将整个屏幕拉伸到另一个分辨率时,我希望页面停止滚动。我已经查看了我的代码,我认为问题在于我的 if-else 语句中的条件。我现在被困了几个小时,我无法为我的问题制定解决方案。我还在我的 htmlaria-label="hidden"
中添加了一个标签,用于启用和禁用整个页面滚动。有人可以告诉我我现在遇到的这个问题吗?
这是我的代码片段:
<div class="c-dropdown-btn"><i class="fas fa-bars c-grey-pill"></i></div>
<div id="c-nav-mobile" aria-label="hidden">
<ul class="c-nav-links2">
<li><a href="#">カテゴリ1</a></li>
<li><a href="#">カテゴリ2</a></li>
<li><a href="#">カテゴリ3</a></li>
<li><a href="#">カテゴリ4</a></li>
</ul>
<div class="c-img-cont2">
<div class="c-image-res3"></div>
<div class="c-consult-cont2">
<div class="c-con-rel"><span class="c-consult-text2">自分のキャリアに合った留学を選ぶための無料相談会実施中</span>
<button class="c-btn c-btn-primary consult-text">詳しくはこちら→</button>
</div>
</div>
</div>
</div>
这是我的jQuery代码:
$('.c-dropdown-btn i').click(function () {
$(this).toggleClass('fa-times');
$('#c-nav-mobile').fadeToggle("on");
bodyStyle();
});
$(window).resize(function(){
bodyStyle();
});
function bodyStyle() {
var viewportWidth = $(window).width();
var navMobile = $("#c-nav-mobile");
if(viewportWidth < 768 && navMobile.attr("aria-label") == "hidden") {
$("body").css("overflow", "hidden");
console.log("abc");
} else if (viewportWidth > 769 && navMobile.attr("aria-label") == "hidden"){
$("body").css("overflow", "none");
console.log("123");
}
}
对于 scss 片段(对于#c-nav-mobile
)
#c-{
&nav-mobile {
display: none;
position: absolute;
left: 0;
z-index: 1;
top: 41px;
width: 100%;
height: 523px;
padding: 25px 32px 34px 31px;
background: rgba(0,0,0,0.5);
@include mq('md') {
display: none !important;
}
&.on {
display: block;
}
}
}
我声明了一个函数并在 resize 和我的点击事件中调用它。
解决方案
#c-nav-mobile 添加这个:
box-sizing: border-box;
推荐阅读
- ios - iTunes 订阅定价
- dependency-injection - Kotlin + Dagger 2:RuntimeException:没有零参数构造函数
- amazon-web-services - 如何使用无服务器或任何其他选项将现有的 lambda 函数从 aws 获取到本地系统?
- javascript - Joomla 是否有 cms ajax 的 api 端点?
- html - 反应 JS 身份验证
- reactjs - SyntaxError:node_modules 中的意外令牌导入
- apache-kafka - 何时调用 KafkaProducer 关闭方法?
- c - 无法在 Windows 上构建 libevent
- javascript - 在 React 无状态组件呈现的 DOM 元素上调用外部函数的最佳方法是什么?
- typescript - 输入窗口或全局属性的推荐方法是什么?