我有一个使用JSON的翻译函数
var json = $.getJSON("localization/translate.json", function (word) {
$.each(word, function () {
data = this;
$(".translate").each(function (i, el) {
var translation = $(el).attr("data-translate");
if (translation === data.en) {
$(el).fadeTo(500, 0, function () {
$(el).delay(600).html(data.en).fadeTo(500, 1);
});
}
});
});
});
fadTo(function(data))
中的 data
只显示json中的最后一个数据值,而不是每个json值的值。
如果我这样做
if(translation===data.en) {
$(el).fadeTo(500, 0, function() {
// move it to outside of this function.
});
$(el).html(data.en);
$(el).fadeTo(500, 1);
}
比这是可以的,但它会触发HTML文本更改,在它完全褪色为透明之前。
var data = this;
使用局部变量,而不是全局变量,那么您可能会看到局部结果而不是全局结果;)