Ich habe eine Art Spiel in Javascript gemacht und in diesem Spiel gibt es einige Divs, die sich horizontal mit verschiedenen Übergangszeiten bewegen. In diesem Spiel gibt es eine Funktion, die jeweils 1/100
Sekunden aufgerufen wird. Dann prüft er zuerst sie Position mit:jQuery .css ("margin-left")
$("class1").css("margin-left")
Und nun die seltsame Sache: wenn ich die Klasse in html gesetzt wie:
<div class = "class1"></div>
Die .css("margin-left")
funktioniert perfekt, aber wenn ich nicht setzen ein Klasse in html und ich füge hinzu, die Klasse in js wie:
$("div:nth-child(6)").addClass("class1");
Dann wird die $(theclass).css("margin-left")
geben falsche Ausgänge. Ich versuchte mit der .position und .offset, aber diese beiden funktionierten nicht für mich.
Mein Code:
function newBlock(block, marginTop, bgc, height, hoogte1, hoogte2, v, tijd){
block.css("background-color", bgc).css("height", height).css("margin-top", marginTop);
var movement1 = "movement1";
var movement2 = "movement2";
// if (positionPixelsBlockF > 0){
// positionPixelsBlockF = positionBlockF.slice(0, 3);
// }
setInterval(positie, 10);
function positie(){
tijd = tijd + 1;
if (v != 0){
block.addClass("i" + v);
$(".i" + v).css({"width": "50px", "display": "inline-block", "position": "absolute", "z-index": "20"});
var positionBlockF = $(".i" + v).css("margin-left");
var positionPixelsBlockF = positionBlockF.slice(0, 4);
$("#uitleg4").html(positionPixelsBlockF);
else if (v === 0){
var positionBlockF = $(".b1").css("margin-left");
var positionPixelsBlockF = positionBlockF.slice(0, 4);
Sie nicht die unvollständige Nutzung des {} dagegen, aber in meinem Code, der festgelegt wird.
PS: mit Klammern
Was können Sie im Debugger auf dem Blockelement siehe rechts nach block.addClass („i“ + v); ? Hast du es geschafft, die Klasse hinzuzufügen? – sfs
addClass ist jQuery-Funktion, aber Sie verwenden jQuery nicht in diesem: block.addClass ("i" + v); Sie könnten stattdessen block.setAttribute ("class", "i" + v) verwenden; – sfs
Ja, aber bevor ich die Klasse "i" + v hinzufügen möchte, habe ich eine andere Klasse hinzugefügt, die das div die richtige Seite verschieben lässt, und ich möchte diese Klasse nicht löschen, was mit .setAttribute und Ich habe es auch mit dem .setAttribute versucht, aber das behebt mein Problem immer noch nicht. Immer noch danke für die Hilfe (: – Tomvkgames