Ich habe eine Farbauswahl und beim Ziehen ruft es die Funktion hello(e,2)
kontinuierlich. Ich übergebe die zweite Variable 2, so dass die erste if statement
nicht ausgeführt wird. Jetzt möchte ich das nicht ändern.Holen Sie sich den letzten Wert einer Schleife und Stop-Funktion ausführen
list[2] =list[1];
list[1]=list[0];
list[0]=e;
Dies sollte nur die letzte Zeit ausgeführt werden. Damit bewegen sich die Orte nur einmal. Ich hoffe du verstehst mein Problem. Das ist meine Funktion.
function hello(e, a) {
if (a == 1 && e != list[0] && e != list[1]) {
list[2] = list[1];
list[1] = list[0];
list[0] = e;
var strContent = "";
for (var i = 0; i <= 2; i++) {
strContent += "<div class=\"pick\" style=\"background-color:" + list[i] + "\" onclick=\"hello(this.style.backgroundColor,0);\"></div>";
}
}
if (a == 2 && e != list[0] && e != list[1]) {
list[0] = e;
var strContent = "";
for (var i = 0; i <= 2; i++) {
strContent += "<div class=\"pick\" style=\"background-color:" + list[i] + "\" onclick=\"hello(this.style.backgroundColor,0);\"></div>";
}
}
$('#colorpick').html(strContent);
//clr = 'rgb('+r+','+g+','+b+')';
clr = e;
var rgb = clr.replace(/^(rgb|rgba)\(/, '').replace(/\)$/, '').replace(/\s/g, '').split(',');
myColor.r = parseInt(rgb[0]);
myColor.g = parseInt(rgb[1]);
myColor.b = parseInt(rgb[2]);
curColor = myColor;
document.getElementById('color-lib-1').style.display = "none";
document.getElementById('color-lib-2').style.display = "none";
document.getElementById('color-lib-3').style.display = "none";
document.getElementById('color-lib-4').style.display = "none";
}
Dies ist nicht lesbar. Bitte füge deinen Code richtig ein. – Tomalak
_Ich hoffe, Sie verstehen mein Problem._ Ich lese es dreimal, kann aber nicht. – Satpal
Sie sagen also, dass Sie "2" nicht als Wert von "a" übergeben wollen, wenn Sie es das letzte Mal anrufen? Ich denke, das liegt außerhalb der Kontrolle der Funktion, die Sie uns gezeigt haben. Die Funktion selbst weiß nicht, ob dies das erste Mal ist, dass Sie es aufgerufen haben oder das Millionste. – ADyson