jquery - 如何通过jquery更新窗口调整大小的变量值?
问题描述
我正在尝试构建一个在调整页面大小时触发的函数,并在它通过条件时更新变量的值,但我无法以任何容量更新变量。我想我不知道应该在哪里正确声明变量或在哪里更新它。
var $padding;
function checkWidth(){
if (($(window).width) > 750) {
$padding = 54;
}
else if (($(window).width) < 751) {
$padding = 100;
}
$("main").css("padding", $padding + "px 0 0 0");
}
$(window).resize(function(){
checkWidth();
console.log($(window).width());
console.log($padding);
});
在这种情况下,$padding 的值总是未定义的。
将 $padding 变量放在 checkWidth 或 resize 函数之上会触发“$padding 未定义”,所以我不知道它还能去哪里。如何获取要更新的值?
解决方案
我能够让它工作。对我来说,问题是你的 IF 声明。您将宽度包装在 () 中,强制它返回真/假,而不是宽度的数值。因为你有 if 和 else if 有同样的问题,你的 $padding 永远不会被设置。
var $padding;
function checkWidth(){
if ($(window).width() > 750) {
$padding = 54;
}
else if ($(window).width() < 751) {
$padding = 100;
}
$("main").css("padding", $padding + "px 0 0 0");
}
$(window).resize(function(){
checkWidth();
console.log($(window).width());
console.log($padding);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
推荐阅读
- kubernetes - 在 Kubernetes 中部署之前动态生成令牌
- ios - 将数据从 API 保存到 Core Data 时应用程序崩溃
- python - ModuleNotFoundError:没有名为“learning_logs/urls”的模块
- vue.js - 在 Vue / EventBus 中传递数据的问题
- javascript - 如何在 JavaScript 中实现暂停和删除打字机效果?
- mysql - 当第二列的值已知时选择具有相同 ID 的行
- python - 编码时什么是“杀死内核”?
- ubuntu - 忘记 ubuntu 18.04 root 密码
- python - Python 3.9 和 Pycharm、HTMLParser AttributeError
- javascript - 快速鼠标悬停鼠标悬停动画错误