jQuery: Hinzufügen und Entfernen von Bildern
Ich bin neu in jQuery.
Ich habe 2 Platten: Wenn ich auf ein Bild in der linken panel, dann dieses Bild erscheint in der rechten Anzeige. Ich mache es mit clone(), so weit ich hier bin. Jetzt würde ich gerne das Bild in der rechten Seitenwand entfernt werden, wenn ich drauf klicke. Und die Anzahl der Inhaltsangabe Gewicht (img id) wird abhängen, wenn ich das hinzufügen oder entfernen der Bilder aus dem rechten Fenster. Kann mir bitte jemand helfen.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>test</title>
<link href="style.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="script/jquery-1.7.2.min.js"></script>
<style type="text/css">
#output, #selectList {
width: 202px;
border: 1px solid #000;
margin: 2px;
height: 400px;
float: left
}
</style>
</head>
<body>
summary weight: <div id="sumcount"></div>kg<br />
<div id="selectList">
<img id="34" src="http://placekitten.com/80/80" />
<img id="21" src="http://placekitten.com/81/81" />
<img id="11" src="http://placekitten.com/g/80/80" />
<img id="5" src="http://placekitten.com/g/81/81" />
<img id="9" src="http://placekitten.com/g/82/82" />
</div>
<div id="output">
</div>
<script type="text/javascript">
$(function(){
var output = $('#output');
//$('#selectList img').each(function(i, el){
// $(this).addClass('img' + i);
// });
$('#selectList img').click(function(){
output.append($(this).clone());
});
//dont work
$('#output img').click(function(){
output.remove($(this));
});
});
</script>
</body>
</html>
Demo: http://jsfiddle.net/XLSmU/
- Das entfernen kann leicht getan werden, überprüfen Sie hier jsfiddle.net/joycse06/XLSmU/1 . Ich bin nicht sicher, wie Sie Sie wollen, zu zählen, das Gewicht.
- Prüfen Sie das jsfiddle.net/joycse06/XLSmU/13 . Wenn Gewicht ist nur das hinzufügen/subtrahiert er den Wert in ID.
- Freude, es funktioniert. Vielen Dank für die sehr schnelle Hilfe!!!
- Sie sind das meiste willkommen, sir.
Du musst angemeldet sein, um einen Kommentar abzugeben.
DEMO
Statt
.clone()
übergeben Sie das element selbst -$(this)
. So dass man am Ende mitoutput.append($(this));
ist, und dass statt des Klonens der element der rechten Liste verschieben. Das ist, wie.append
und die Methoden, wie es funktioniert.Über das Gewicht zählen:
id
Attribute für gerade zahlen. Das ist nicht Ihre Absicht, und ein gültiges HTML-elementid
enthält mindestens ein Zeichen. Verwenden Sie stattdessen einedata-id
Attribut, und verwenden Sie es mit.data()
.Zum zählen der Anzahl von "Gewicht" in der Liste, die Sie verwenden können
.each
zu beurteilen und die Summe der Menge, wie diese:Dann können Sie eine Funktion aus und es neu zu berechnen, das Gewicht mit jeder änderung in den Listen.
.live("click", function(){...});
für Ihre Veranstaltung verbindlich statt, da die Elemente können verschiedene Ereignisse, auf die Ihnen nach dem Umzug in die nächste Liste.Ich habe ein Beispiel auf jsFiddle mit: http://jsfiddle.net/XLSmU/17/