Ich habe diese jQuery-Funktion, mit der ich auf ein Bild klicken kann und eine CSS-Klasse angewendet wird. Wenn auf ein anderes Element mit derselben Klasse geklickt wird, wird die gleiche Klasse des vorherigen Elements entfernt. Es funktioniert gut, außer ich muss auf das Element zweimal klicken, bevor die exampleimgopen
Klasse angewendet wird.jQuery Verlangsamung removeClass
Ich denke, der Fehler hat etwas mit der Reihenfolge in der Funktion zu tun, aber ich bin mir nicht sicher, was falsch ist. Hier
ist die jQuery:
jQuery(document).ready(function($) {
$('.exampleimg').click(function() {
$('.exampleimgopen').removeClass('exampleimgopen');
$(this).toggleClass('exampleimgopen');
$('.exampleimg').toggleClass('exampleimgclose');
});
});
Hier ist die html:
<div id="examples">
<p>Examples:</p>
<img src="img/1.png" class="exampleimg">
<img src="img/2.png" class="exampleimg">
<img src="img/3.png" class="exampleimg">
<img src="img/4.png" class="exampleimg">
<img src="img/5.png" class="exampleimg">
<img src="img/6.png" class="exampleimg">
</div>
Hier ist die CSS:
#examples {
background-color:white;
color:black;
text-align:center;
padding:5px 5px 5px 5px;
}
.exampleimg {
padding:10px 0px 10px 0px;
width:300px;
margin:0 20px 0 20px;
}
.exampleimg:hover {
opacity:0.8;
cursor:pointer;
}
.exampleimgopen {
width:620px;
transition: 0.5s ease;
}
.exampleimgclose {
width:300px;
transition: 0.5s ease;
}
Ich glaube, dass ein Element aus der Sicht von jQuery entweder eine bestimmte Klasse hat oder nicht; jQuery selbst kann das Rendering nicht vom Vorher-Stil zum Nach-Stil mischen. CSS3 bietet jedoch möglicherweise Animationsfunktionen, mit denen Sie genau das tun können, was Sie brauchen. Welchen Effekt erhoffst du dir eigentlich? – Bobulous
Kannst du dir eine Vorstellung davon machen, was du damit erreichen willst? vielleicht auch einige CSS aller beteiligten Elemente. –
@RobertDeniro überprüfen Sie meine neue Antwort :) –