JavaScript Nur erstes Element wird angenommen.

Timdaroxxa

Lieutenant
Registriert
März 2009
Beiträge
954
Hi,

<img src="" width="100%" class="background2">
<img src="" width="100%" class="background1">

$('div.image_wrapper').click(function() {
var currentId = $(this).attr('id');
$('.' +currentId).animate({
opacity: 1
}, 1000 );
$('div.content').hide("slide", { direction: "right" }, 1000, function() {
$('#go_back').show("slide", { direction: "right" }, 1000);
$('#info').animate({
opacity: 1
}, 1000 );
});
});

<div id="background1"></div>
<div id="background2"></div>

Die Divs kann man anklicken.
Je nachdem welches man anklickt, soll ein anderes Bild sichtbar werden.
Mein Problem: Das Script funktioniert nur mit dem IMG welches an erster Stelle ist.

Kennt jemand die Lösung;

Gruß Ich
 
den script versteh ich nicht. da werden lauter elemente, klassen und ids referenziert, die du hier nicht gepostet hast.
 
ok sry

die Bilder sind erst auf opcity 0 gesetzt!

$('div.image_wrapper').click(function() {
var currentId = $(this).attr('id');
$('.' +currentId).animate({
opacity: 1
}, 1000 );

$('div.content').hide("slide", { direction: "right" }, 1000, function() {
$('#go_back').show("slide", { direction: "right" }, 1000);
$('#info').animate({
opacity: 1
}, 1000 );
});
});

Nur der Teil is wichtig!
D.h. das Bild sollte sichbar werden, für welches vorher die passende ID ausgelesen wurde!
 
Code:
var currentId = $(this).attr('id');
$('.' +currentId).animate({
opacity: 1
}, 1000 );

Zunächst einmal frage ich mich wieso du von $(this) noch die id ausliest nur um sie dann wieder im selektor benutzen zu können? Wie wäre es mit $(this).animate({..}] ?

Und dann zu deinem Problem, kann man nur das erste anklicken und es erscheint oder kann man alle anklicken und es erscheint immer nur das erste bild?
 
hey,

wie du siehst, lese ich die ID aus um danach ein anderes Element, nämlich ein Bild mit eben der entsprechenden Klasse auszuwählen. Je nachdem welches Div nämlich angeklickt wird, soll ein anderes Bild sichtbar werden.

Die Bilder befinden sich in einem Div.

Das Script funktioniert allerdings nur, wenn sich das per Klick und somit per ID ausgewählte Bild in dem Div an erster Stelle befindet. Befindet sich davor noch ein anderes Bild (welches nicht angezeigt werden soll und auch nicht angezeigt wird) wird das zweite Bild nicht angezeigt!
 
Zurück
Oben