Работа на шахматной доске с использованием html и javascript. Я пытаюсь добавить функцию, чтобы пользователь мог перевернуть точку зрения доски и столкнулся с ошибкой, которую я понимаю, но не могу понять, как ее решить. Код ниже ....Переключение имен идентификаторов в javascript
function flipBoard(){
document.getElementById("a8").id = "h1";
document.getElementById("a7").id = "h2";
document.getElementById("a6").id = "h3";
document.getElementById("a5").id = "h4";
document.getElementById("a4").id = "h5";
document.getElementById("a3").id = "h6";
document.getElementById("a2").id = "h7";
document.getElementById("a1").id = "h8";
document.getElementById("h8").id = "a1";
document.getElementById("h7").id = "a2";
document.getElementById("h6").id = "a3";
document.getElementById("h5").id = "a4";
document.getElementById("h4").id = "a5";
document.getElementById("h3").id = "a6";
document.getElementById("h2").id = "a7";
document.getElementById("h1").id = "a8";
}
Так .... я думал, что это будет работать нормально, но обнаружил, что это наносит ущерб моей борту позиции наполовину белый, наполовину черными на обеих сторонах платы , Проблема, конечно, в том, что после того, как исходный квадрат «a1» переименован в «h8», теперь есть два квадрата «h8», а в конце кода он переключается обратно на «a1».
Я понятия не имею, как заставить имена имен переключаться одновременно, в противном случае мне пришлось бы добавить много кода, переключая имена имен на третье имя в качестве владельца места, прежде чем переключать их на желаемое имя. Возможно, но утомительно, и я чувствую, что должен быть более простой способ сделать это.
Любые идеи?
@SteampunkWizard - в зависимости от того, сколько кода вы реализовали и как много манипулирует данными/моделью как часть представления, вы можете захотеть отделить представление от модального. Это даст вам стандартное статическое представление платы для вашей логики игры и простой способ манипулировать представлением, не затрагивая его каким-либо образом: [пример скрипка] (http://jsfiddle.net/5fayL1uj/1/) – dc5
БОЛЬШОЕ СПАСИБО! Это сработало отлично. Я был обеспокоен, если будут какие-либо взаимодействия с добавлением файлов b-g в код, но никаких проблем вообще. На данный момент, если у меня уже есть куски на доске, идентификатор платы переключится, но штук не будет. Мой следующий шаг - запустить функцию, чтобы сохранить текущее положение платы в два массива для кусков и квадратов плат и перезагрузить положение платы. На данный момент у меня нет намерения подключить движок к этой плате. Цель этой программы - дать мне бесплатную форму для использования при обучении шахматам. – SteampunkWizard