2013-03-10 37 views
6

Tôi có JavaScript Image object mà tôi tải động với jQuery.Thay đổi hình ảnh <img /> bằng JavaScript Đối tượng hình ảnh

Điều tôi muốn làm là thay đổi hình ảnh <img /> bằng hình ảnh được lưu trữ trên đối tượng Image của tôi. Làm thế nào tôi nên làm điều này?

Lưu ý: Tôi muốn tránh thay đổi nguồn gốc của thẻ <img /> của tôi như nó tải về nó một lần nữa từ máy chủ, và tôi đã có những hình ảnh được lưu trữ trong đối tượng hình ảnh của tôi

+0

Bạn đã thử '$ (hình ảnh) 'chưa? Hình ảnh thường được lưu vào bộ nhớ cache, vì vậy tải cùng một hình ảnh hai lần sẽ không tải xuống hai lần. – Blender

+1

Tôi không hiểu. Bạn có thể giải thích thêm một chút không? Tôi đã biết những gì '$ (hình ảnh)' hiện, nhưng tôi có hình ảnh được lưu trữ trong một đối tượng 'Hình ảnh' JavaScript, và tôi muốn tránh thay đổi src vì tôi không muốn tải xuống hình ảnh mỗi khi tôi thay đổi nó – Pacha

+1

Quấn đối tượng hình ảnh của bạn vào hàm jQuery. Hình ảnh được lưu vào bộ nhớ cache, vì vậy việc tải xuống lại thường không tạo ra sự khác biệt. – Blender

Trả lời

9

Bạn có nghĩa là

$('#imageToChange').replaceWith(imageObject) 

?

+1

Làm thế nào tôi có thể làm điều tương tự chỉ với javascript và không có jQuery? –

+0

@ S.P.H.I.N.X - đặt câu hỏi - nghĩa là 'document.querySelector (" img "). Src = imageObject.src'? – mplungjan

+0

Không, tôi muốn đặt đối tượng javascript ('myImage = new image()') thành tài liệu html như' document.querySelector ("img") = myImage'. –

0

Hãy hình ảnh mới của mình trong bộ nhớ javascript, và sau đó thêm nó sau hình ảnh gốc, sau đó loại bỏ bản gốc. Bạn cũng có thể lưu bộ nhớ cache gốc trước khi xóa nó trong trường hợp bạn muốn sử dụng lại nó.

html

<img id="replace" /> 

js

var img = new Image(); 
img.src = "someUri.png"; 
$("#replace").after(img); 
$("#replace").remove(); 
+0

Điều này khác với '$ (" # thay thế ") như thế nào. Prop ('src', 'someUri.png')'? –

+3

Dễ dàng hơn với '$ ('# thay thế'). ReplaceWith (img);', chỉ cần nói. –

+0

@ExplosionPills - OP cho biết không thay đổi 'src' là lý do tôi đi tuyến đường đó. –

4

mới đối tượng hình ảnh:

var Image_off = new Image(); 
Image_off.src = 'first.jpg'; 

hình ảnh thay đổi src với jQuery:

$("#my_image").attr("src",Image_off.src); 
1

Với jQuery ... có cả hình ảnh đã có trên trang và hiển thị hoặc ẩn hoặc là một, dựa trên một điều kiện logic.

+0

Hmm, điều này thực sự có thể trả lời câu hỏi cơ bản hơn là những gì OP nghĩ là vấn đề :) – mplungjan

Các vấn đề liên quan