cuốn sách gpt4 ai đã làm

Tại sao chương trình của tôi hoạt động như thể không tìm thấy hình ảnh trên máy chủ?

In lại Tác giả: Taklimakan Thời gian cập nhật: 2023-11-03 04:05:29 25 4
mua khóa gpt4 Nike

Tôi đã có một thư viện sử dụng javascript để tải các phần tử xây dựng hình ảnh, như thế này:

$(window).load(function() {
$("#getElement").click(function() {
cho (var i = 1; i <= 10; i++) {
var ancla = document.createElement("A");
var img = document.createElement("IMG");
var text = document.createTextNode("");
img.src = 'hình ảnh/ô' + i + '.jpg';
img.id = "hình ảnh";
img.appendChild(văn bản);
ancla.href = 'hình ảnh/ô' + i + '.jpg';
ancla.className = "quyền anh";
ancla.appendChild(văn bản);
document.getElementById("gallery").appendChild(ancla);
ancla.appendChild(img);
Loadimage('images/tile' + i + '.jpg');
}
});
});

Tôi muốn đặt điều kiện tải hình ảnh của thư viện miễn là chúng tồn tại trên máy chủ hoặc được lưu trữ ở bất kỳ đâu. Để làm điều này, tôi đã khai báo một biến toàn cục trong tập lệnh của mình có tên là "cảnh báo" mà tôi sử dụng trong hàm để tải từng hình ảnh của thư viện, biến này là một giá trị bool và sẽ trở thành nếu tìm thấy ít nhất một hình ảnh Đúng hoặc sai nếu có không có hình ảnh. Đây là chức năng:

var req, hình ảnh, đường dẫn hình ảnh;
cảnh báo var = sai;

hàm d(o) {
trả về document.getElementById(o);
}

hàm tải hình ảnh (imgpath) {
hình ảnh = d("hình ảnh");
image.style.display = "không có";
đường dẫn hình ảnh = imgpath;
req = getreq();
req.onreadystatechange = hình ảnh tồn tại;
req.open("get", imagepath, true);
req.send(null);
}

hàm imagexists() {
if (req. ReadyState == 4) {
if (req.status == 200) {
cảnh báo = đúng;
image.style.display = "chặn";
image.src = đường dẫn hình ảnh;
} khác {
image.style.display = "không có";
cảnh báo = sai;
}
}
}

hàm getreq() {
if (window.XMLHttpRequest) trả về XMLHttpRequest() mới;
nếu không thì nếu (window.ActiveXObject) trả về ActiveXObject mới("Microsoft.XMLHTTP");
}

Sau khi nhấn câu lệnh for của hàm, tôi đặt mã điều kiện

if (cảnh báo == đúng) {
$("#gallery").justifiedGallery({
bộ lọc: sai,
chiều cao hàng: 180
});
} khác {
$("#dynamicCont").load('noImage.txt');
}

Đây là nơi mã không hoạt động chính xác vì nó luôn đi vào phần khác của điều kiện, ngay cả khi hàm Loadimage() tìm thấy hình ảnh. Có điều gì tôi đang thiếu? Hoặc những cách khác để làm cho nó hoạt động?

câu trả lời hay nhất

Điều có thể xảy ra là mã này:

if (cảnh báo == đúng) {
$("#gallery").justifiedGallery({
bộ lọc: sai,
chiều cao hàng: 180
});
} khác {
$("#dynamicCont").load('noImage.txt');
}

Chạy trước khi yêu cầu của bạn đến máy chủ hoàn tất. Hãy nhớ rằng, đây là một yêu cầu không đồng bộ.

Chỉ cần di chuyển mã đó vào chức năng gọi lại của bạn như thế này:

hàm imagexists() {
if (req. ReadyState == 4) {
if (req.status == 200) {
image.style.display = "chặn";
image.src = đường dẫn hình ảnh;

$("#gallery").justifiedGallery({
bộ lọc: sai,
chiều cao hàng: 180
});

} khác {
image.style.display = "không có";
$("#dynamicCont").load('noImage.txt');
}
}
}

Bạn không thực sự cần những giá trị bool cảnh báo như thế này.

Về javascript - Tại sao chương trình của tôi hoạt động như thể không tìm thấy hình ảnh trên máy chủ? , chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/42282823/

25 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress