Ich bin neu in der Programmierung und ich versuche eine To-Do-Liste in Javascript zu programmieren und experimentiere mit JQuery. Ich habe online eine Durchstreichungs-Animation gefunden, die ich in die Liste implementieren wollte, aber ich bin mir nicht ganz sicher, was diese beiden Zeilen Code machen und fragte mich, ob jemand für mich etwas ausarbeiten könnte, damit ich es besser verstehe? Die gestrichener Funktion ist wie folgt:Was machen diese Codezeilen?
//var _Text sets the _Text to the individual list item
var _text = document.getElementById("item_" + cbId);
$(document).ready(function() {
_text = $(itemText).text();
StrikeThrough(0);
});
//Strikethrough animation function
function StrikeThrough(index) {
if (index >= _text.length)
return false;
var sToStrike = _text.substr(0, index + 1);
var sAfter = (index < (_text.length - 1)) ? _text.substr(index + 1,
_text.length - index) : "";
$(itemText).html("<strike>" + sToStrike + "</strike>" + sAfter);
window.setTimeout(function() {
StrikeThrough(index + 1);
}, 100);
die beiden Linien, die ich bin verwirrt über sind:
var sToStrike = _text.substr(0, index + 1);
var sAfter = (index < (_text.length - 1)) ? _text.substr(index + 1, _text.length - index) : "";
Was ich bin speziell verwirrt darüber ist, was diese Variablen exakt eingestellt werden
Die erste Zeile ruft [ 'substr()'] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/substr), mit dem ein Teil einer Zeichenfolge abgerufen wird. Die zweite Zeile ist ein [ternärer Ausdruck] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Conditional_Operator), der eine verdichtete if-Bedingung ist. –
Manchmal ist der beste Weg, um Code zu verstehen, ein JS-Debugger zu verwenden, z. B. eine Debugger-Anweisung vor die betreffenden Zeilen zu setzen und dann in der JS-Konsole zu experimentieren. –