Ich habe eine Liste von Artikeln & sie halten Bilder, jedes Bild ist 800W x 600 H. Die ursprüngliche div Höhe ist 800 W x 300 H. Ich fand heraus, wie das div zu erweitern, wenn es ist geklickt, aber ich möchte wissen, wie Sie es ausblenden, wenn Sie es angeklickt haben, während es bereits erweitert ist. Im Moment i erweitert gerade die div noch weiterErweitern und reduzieren ein div
$('.expand').bind('click', function() {
var currHeight = $(this).css('height').replace(/px/,'');
currHeight = currHeight * 1;
var newHeight = currHeight + 500;
$(this).animate({
height: newHeight
},1000);
});
eine Idee, wie man ein if else statement
schaffen, das sagen würde, WENN die div bereits erweitert werden dann auf Klick kollabieren, oder wenn die div Zusammenbruch ist, dann erweitern, um # von px.
das ist großartig, wie würde ich alle anderen offenen divs schließen, wenn es mehrere divs sind? – goetzs
@user: Dafür würde ich wahrscheinlich eine Klasse verwenden (anstelle des 'data' Feldes). Fügen Sie eine Klasse hinzu, vielleicht "expanded", und dann können Sie sie einfach ausblenden: '$ ('div.expanded'). RemoveClass ('expanded'). Each (function() {[Code zur Wiederherstellung der Höhe auf $ (this) ]}); ' –
@goetzs, @TJ Crowder: und wenn Sie CSS verwenden können, um die Höhe einzustellen (für die erweiterten/nicht-expandierten Fälle), müssen Sie nur die Klasse entfernen - dann wird das automatisch die Höhe beeinflussen ... meine Antwort könnte die Idee machen klarer! – psmears