Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Cuvinte si expresii neclare

Mod de lucru Purmo Tempco Digital...

Samsung S90C vs LG C3

Problema sunet RCS
 Amortizor sertare bucatarie

Codrea Pallady

Blocurile goale! Orase in car...

Motorul pe benzina 1.0 SCe65
 Mostenire In 1986

Lentile sferica pentru astigmatism

Problema inlocuire usa spate A6 C...

Ce gen de muzica este?
 Drepturile copiilor, in numele &#...

Mocheta peste parchet cu incalzir...

La multi ani mie!

Senzor filtru particule GOLF 7
 

Schimba/inlocuieste imaginea cu javascript

- - - - -
  • Please log in to reply
7 replies to this topic

#1
alex05ok

alex05ok

    Member

  • Grup: Members
  • Posts: 376
  • Înscris: 08.11.2007
Buna ziua!

In programul de mai jos pot sa schimb/inlocuiesc imaginea pic1.png cu imaginea pic2.png cand dau click pe ea.

var image_tracker = 'pic1';
function change() {
	var image = document.getElementById('circle');
	if (image_tracker == 'pic1') {
		image.src = 'pic2.png';
		image_tracker = 'pic2';
	} else {
		image.src = 'pic1.png';
		image_tracker = 'pic1';
	}
}


<img src="pic1.png" alt="Circle" id="circle" onclick="change();">


Acest cod merge doar daca am doar un singur set de imagini de inlocuit: pic1.png cu pic2.png
Cum fac daca sub aceste imagini, in aceeasi pagina, mai am inca un set de imagini pic3.png - pic4.png fara a scrie inca o functie? Adica cand dau click pe imaginea pic3.png sa imi apara in locul ei pic4.png.

Multumesc!

#2
sags

sags

    Senior Member

  • Grup: Senior Members
  • Posts: 9,985
  • Înscris: 24.04.2013
Pui aceeasi functie pe toate imaginile care trebuie schimbate si in acea functie folosesti obiectul event (proprietatea .target) pentru a detecta pe care din imagini s-a dat clic. In functie de aceasta decizi ce pui in [obiect imagine].src. <https://www.w3school...f/obj_event.asp>

#3
laffin

laffin

    Senior Member

  • Grup: Senior Members
  • Posts: 9,558
  • Înscris: 16.03.2007
<img src="pic1.png" alt="Circle" id="circle" onclick="change(this)">


function change(img) {
if (img.src.indexOf('pic1.png') !== -1) {
	  img.src = 'pic2.png'
}
else if (img.src.indexOf('pic2.png') !== -1) {
	  img.src = 'pic1.png'
}
else if ....................
}
}


Edited by laffin, 03 August 2019 - 08:47.


#4
alex05ok

alex05ok

    Member

  • Grup: Members
  • Posts: 376
  • Înscris: 08.11.2007
Multumesc laffin functioneaza, dar cum scurtez codul in cazul in care am 3 seturi de imagini?

<img src="pic1.png" alt="Circle" id="circle" onclick="change(this)">
<img src="pic3.png" alt="Circle" id="circle" onclick="change(this)">
<img src="pic5.png" alt="Circle" id="circle" onclick="change(this)">


function change(img) {
if (img.src.indexOf('pic1.png') !== -1) {
		 img.src = 'pic2.png'
}
else if (img.src.indexOf('pic2.png') !== -1) {
		 img.src = 'pic1.png'
}
else if (img.src.indexOf('pic3.png') !== -1) {
		 img.src = 'pic4.png'
}
else if (img.src.indexOf('pic4.png') !== -1) {
		 img.src = 'pic3.png'
}
else if (img.src.indexOf('pic5.png') !== -1) {
		 img.src = 'pic6.png'
}
else if (img.src.indexOf('pic6.png') !== -1) {
		 img.src = 'pic5.png'
}
}


Edited by alex05ok, 03 August 2019 - 08:58.


#5
andronic312

andronic312

    Member

  • Grup: Members
  • Posts: 902
  • Înscris: 16.01.2009
function change(img) {
	/* aici setezi calea globala a tutoror imaginilor, daca nu e aceeasi pentru toate imaginile.. atunci se complica putin*/

	var rootPATH = "images/";

	var filename = img.src.split("/").pop();

	swapImages = {
		'pic1.png': 'pic2.png',
		'pic2.png': 'png1.png',
		'pic3.png': 'pic4.png',
		'pic4.png': 'png3.png',
...........
	};

	 img.src = rootPATH + swapImages[filename];

}


Daca ai da mai multe detalii despre structura html  s-ar mai gasi si alte solutii mai elegante, ai cumva si img cu pic2, pic4, pic6 ascunse(sau nu) pe langa pic1,pic3, pic5?

Edited by andronic312, 03 August 2019 - 10:37.


#6
sags

sags

    Senior Member

  • Grup: Senior Members
  • Posts: 9,985
  • Înscris: 24.04.2013
<img src="pozaA1.png" onclick="schimbapoza(this);">
<img src="pozaB2.png" onclick="schimbapoza(this);">
<img src="pozaC9.png" onclick="schimbapoza(this);">

var poze = {
	"pozaA1.png": "pozaA2.png", "pozaA2.png": "pozaA1.png",
	"pozaB1.png": "pozaB2.png", "pozaB2.png": "pozaB1.png",
	"pozaC8.png": "pozaC9.png", "pozaC9.png": "pozaC8.png",
// ... etc
};
function schimbapoza (img) {
	var ixname = img.src.lastIndexOf("/");
	if (ixname == -1) ixname = 0;
	else			 ixname++;
	img.src = img.src.substring(0,ixname) + poze[img.src.substring(ixname)];
}

Te scuteste si de a tine evidenta unde/ce poza ai afisata curent.

#7
alex05ok

alex05ok

    Member

  • Grup: Members
  • Posts: 376
  • Înscris: 08.11.2007
Multumesc sags este solutia pe care o cautam.

#8
Webbbob

Webbbob

    Member

  • Grup: Members
  • Posts: 637
  • Înscris: 22.03.2019
mai bine cu jquery ai documentatie full

Anunturi

Chirurgia endoscopică a hipofizei Chirurgia endoscopică a hipofizei

"Standardul de aur" în chirurgia hipofizară îl reprezintă endoscopia transnazală transsfenoidală.

Echipa NeuroHope este antrenată în unul din cele mai mari centre de chirurgie a hipofizei din Europa, Spitalul Foch din Paris, centrul în care a fost introdus pentru prima dată endoscopul în chirurgia transnazală a hipofizei, de către neurochirurgul francez Guiot. Pe lângă tumorile cu origine hipofizară, prin tehnicile endoscopice transnazale pot fi abordate numeroase alte patologii neurochirurgicale.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate