2013-03-10 13 views
6

Mam JavaScript Image object, który ładuję dynamicznie z jQuery.Zmiana obrazu <img /> z JavaScript Image object

Co chcę zrobić, to zmienić obraz <img /> z jednym przechowywanym na moim obiekcie Image. Jak mam to zrobić?

Uwaga: Chcę uniknąć zmieniając źródło mojego <img /> tagu gdyż pobiera go ponownie z serwerem, a ja już obraz przechowywany w moim obiektu obrazu

+0

Czy próbowałeś '$ (obraz)'? Obrazy są zwykle zapisywane w pamięci podręcznej, więc dwukrotne wczytanie tego samego obrazu nie spowoduje pobrania go dwukrotnie. – Blender

+1

Nie rozumiem tego. Czy możesz wyjaśnić nieco więcej? Już wiem, co robi '$ (obraz)', ale mam obraz zapisany w obiekcie JavaScript 'Obraz' i chcę uniknąć zmiany src, ponieważ nie chcę pobierać obrazu za każdym razem, gdy go zmieniam – Pacha

+1

Zawiń obiekt obrazu w funkcji jQuery. Obrazy są buforowane, więc ponowne ich pobieranie zwykle nie ma znaczenia. – Blender

Odpowiedz

9

To znaczy,

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

?

+1

Jak mogę zrobić to samo z tylko javascript i bez jQuery? –

+0

@ S.P.H.I.N.X - zadaj pytanie - masz na myśli 'document.querySelector (" img ") .src = imageObject.src'? – mplungjan

+0

Nie, chcę ustawić obiekt javascript ('myImage = new image()') w dokumencie html like' document.querySelector ("img") = myImage'. –

0

Złóż swój nowy wizerunek w javascript pamięci i następnie dołącz ją po oryginalnym obrazie, a następnie usuń oryginał. Możesz również chcieć zapisać oryginał w pamięci podręcznej, zanim go usuniesz na wypadek, gdybyś chciał go ponownie użyć.

html

<img id="replace" /> 

js

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

Czym różni się to od '$ (" # replace ") .project ('src', 'someUri.png')'? –

+3

Łatwiejsze z '$ ('# replace'). ReplaceWith (img);', po prostu mówiąc. –

+0

@ExplosionPills - OP powiedział, aby nie zmieniać 'src', dlatego poszedłem tą drogą. –

4

Nowy obiekt Image:

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

obraz zmiana src z jQuery:

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

z jQuery ... mieć zarówno obrazy już na stronie i pokazać lub ukryć albo jeden, na podstawie warunek logiczny.

+0

Hmm, może to odpowiedzieć na podstawowe pytanie, a nie na to, co OP uważał za problem :) – mplungjan

Powiązane problemy