gpt4 book ai didi

jquery - 使用 jQuery 检查图像大小逻辑

转载 作者:行者123 更新时间:2023-12-01 07:09:01 24 4
gpt4 key购买 nike

我制作了在提交之前检查图像大小的功能。它工作时没有错误,但我发现一个异常(exception),即如果图像仅包含一张尺寸正确的图像,则允许上传图像。发生这种情况是因为 bool 值不正确。我知道如何以肮脏的方式检测到这一点我知道我的代码很愚蠢,但是你们能检查一下我的代码吗?

function check_scr_img_size() {
var img_size;
var ss = $('.tmp_screenshot').length;
console.log("업로드할 스크린샷 갯수 : "+ ss);

var scr = [];
for (var i = 0 ; i < ss ; i ++) {
console.log("check_scr_img_size");
scr[i] = document.getElementById('tmp_scr'+i);
console.log(scr[i].naturalWidth + " , " + scr[i].naturalHeight);

if(scr[i].naturalWidth == 1440 && scr[i].naturalHeight == 810) {
img_size = true;
}else {
img_size = false;
}
}

if (img_size) {
console.log("check_scr_img_size : true");
return true;
}else {
console.log("check_scr_img_size : false");
if (lang == "ko") {
popup("스크린샷 이미지를 확인해 주세요. (사이즈 : 1440 X 810");
}else {
popup("Please check your screenshots images (size : 1440 X 810");
}
return false;
}
}

我该如何解决这个问题?请让我知道如何更干净和优化地修改我的代码。

<小时/>

我试了一下,日志是这样的。

스크린샷존재
업로드할 스크린샷 존재
업로드할 스크린샷 갯수 : 2//必须上传 2 个文件。
检查 scr_img_size
518, 346//第一张图片大小
检查 scr_img_size
1440, 810//第二图像尺寸
check_scr_img_size : true//变为 true
스크린샷 존재 && 업로드할 스크린샷 존재 && 업로드할 스크린샷 사い즈 일치

如果最后一个图像为真,则 bool 值只会更改。

我把你说的代码改成了这样。

function check_scr_img_size() {
var img_size=true;
var ss = $('.tmp_screenshot').length;
console.log("업로드할 스크린샷 갯수 : "+ ss);

var scr = [];
for (var i = 0 ; i < ss ; i ++) {
console.log("check_scr_img_size ");
scr[i] = document.getElementById('tmp_scr'+i);
console.log(scr[i].naturalWidth + " , " + scr[i].naturalHeight);

if(!scr[i].naturalWidth == 1440 && !scr[i].naturalHeight == 810) {
//img_size = true;
//}else {
img_size = false;
}
}

if (img_size) {
console.log("check_scr_img_size : true");
return true;
}else {
console.log("check_scr_img_size : false");
if (lang == "ko") {
popup("스크린샷 이미지를 확인해 주세요. (사이즈 : 1440 X 810");
}else {
popup("Please check your screenshots images (size : 1440 X 810");
}
return false;
}
}
<小时/>

谢谢,它工作正常。我将 (!scr[i].naturalWidth == 1440 && !scr[i].naturalHeight == 810) 更改为 scr[i].naturalWidth != 1440 && scr[i ].naturalHeight != 810 并且我还在 img_size = false; 之后添加了 break;。我真的很感谢你的帮助:-)

最佳答案

只需将 img_size 设置为 true 即可。而是用 true 初始化 img_size:

var img_size = true;
// in your loop:
// ...
if(scr[i].naturalWidth != 1440 && scr[i].naturalHeight != 810) {
img_size = false;
}

因此,如果收到一些不良图像,您总是会得到false

关于jquery - 使用 jQuery 检查图像大小逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32432770/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com