我是编程新手,我试图在Javascript中编写一个待办事项列表,并正在试验JQuery。我在网上发现了一个删除线动画,我想将其实施到列表中,但我不太清楚这两行代码是做什么的,并且想知道是否有人可以为我详细说明,这样我可以更好地理解?透湿功能如下:这些代码行是做什么的?
//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);
这两条线,我感到困惑的是:
var sToStrike = _text.substr(0, index + 1);
var sAfter = (index < (_text.length - 1)) ? _text.substr(index + 1, _text.length - index) : "";
什么我特别困惑的是这些变量被设置准确
第一行调用['SUBSTR()'] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/substr),它用于获取字符串的一部分。第二行是['三元表达式'](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Conditional_Operator),这是一个浓缩的'if'条件。 –
有时,理解代码的最好方法是使用JS调试器,例如,在有问题的行之前放置一个'debugger'语句,然后在JS控制台中进行实验。 –