我昨天创建了一个益智游戏,并制作了一个保存系统,但是在加载保存时遇到错误:
here's the website
and here's a save
这是加载保存时启动的功能:
function loadSave(){
var saveData = $("#saveText").text();
var pieceData = saveData.split("|");
var posData = [];
var puzzleInfo = pieceData[0].split(",");
createGrid(parseInt(puzzleInfo[1]));
createPieces(parseInt(puzzleInfo[1]), puzzleInfo[0]);
oldSource = imgSource;
imgSource = puzzleInfo[0];
console.log(saveData);
$("#puzzleContainer img").attr("src", imgSource);
for(i=1; i < pieceAmount+1; i++){
posData = pieceData[i].split(";");
$(".piece:nth-child("+i+")").css({
top: posData[0],
left: posData[1],
});
}
$( "#pieceAmount" ).slider({
value: puzzleInfo[1],
});
$("#pieceAmountValue").html(puzzleInfo[1]*puzzleInfo[1]);
}
经过一些故障排除后,我发现PuzzleInfo [0]根本没有任何内容
有谁知道为什么我从保存中获得的src为空?
编辑:
这是检测到错误时启动的功能:
$("#puzzleContainer img").error(function(){
imgSource = oldSource;
createGrid(Size);
createPieces(Size, imgSource);
$("#puzzleContainer img").attr("src", imgSource);
alert("the image could not be found, is your link correct?");
});
最佳答案
我发现了什么地方出了问题
问题出在这里:
var saveData = $("#saveText").text();
saveData始终为空,我需要使用获取值
var saveData = $("#saveText").val();
代替