#javascript #jquery #html #css
#javascript #jquery #HTML #css
Вопрос:
Я создаю игру с памятью. Я хочу перевернуть карты (divs), чтобы сделать его более реалистичным. Для перелистывания я использую ЭТОТ плагин. проблема в том, что переворачивание карты не работает. Я получил эту ошибку из консоли:
Uncaught TypeError: Cannot read property 'direction' of undefined
Вы можете увидеть мой код здесь: JSFIDDLE
РЕДАКТИРОВАТЬ 1:
Полный журнал ошибок:
Uncaught TypeError: Cannot read property 'direction' of undefined VM24:1
(anonymous function) VM24:1
m.extend.each jquery.min.js:2
m.fn.m.each jquery.min.js:2
$.fn.flip VM24:1
OpenCard mem.js:94
m.event.dispatch jquery.min.js:3
r.handle
Эта функция использует функцию flip () включенного плагина Jquery Flip:
function OpenCard() {
var id = $(this).attr("id");
if ($("#" id " img").is(":hidden")) {
$(Source " div").unbind("click", OpenCard);
$("#" id " img").flip();
if (ImgOpened == "") {
BoxOpened = id;
ImgOpened = $("#" id " img").attr("src");
setTimeout(function() {
$(Source " div").bind("click", OpenCard)
}, 300);
} else {
CurrentOpened = $("#" id " img").attr("src");
if (ImgOpened != CurrentOpened) {
setTimeout(function() {
$("#" id " img").flip();
$("#" BoxOpened " img").flip();
BoxOpened = "";
ImgOpened = "";
}, 400);
Counter-=10;
wrong.play();
} else {
$("#" id " img").parent().css("disabled", "disabled");
$("#" BoxOpened " img").parent().css("disabled", "disabled");
ImgFound ;
BoxOpened = "";
ImgOpened = "";
Counter =100;
correct.play();
}
setTimeout(function() {
$(Source " div").bind("click", OpenCard)
}, 400);
}
$("#counter").html("" Counter);
if (ImgFound == ImgSource.length) {
clearInterval(timer);
alert ("Your score is " Counter);
}
}
}
Может кто-нибудь сказать мне, почему я получаю эту ошибку и как ее исправить
Комментарии:
1. Ошибка где-то в другом месте. Найдите
foo.direction
, где foo не определено.
Ответ №1:
Вам не хватает объекта settings:
$("#" id " img").flip({direction: 'lr'});
Вы можете получить несколько примеров на странице плагина.
Комментарии:
1. Спасибо за ваш ответ @Salem. Я пробовал этот код раньше, и он не работает в моем случае.
2. Вы уверены? Я запустил ваш код, и это единственная проблема, которую я обнаружил (если вы пытаетесь использовать скрипку, которую вы указали, ссылка на
flip
библиотеку неверна)3. не могли бы вы, пожалуйста, дать мне ссылку на ваш jsFiddle? Я пробовал, и это не работает. Включали ли вы другие библиотеки помимо плагина jquery и flip?
4. Также я попробовал на своем компьютере, и ошибка исчезла, но элементы div не перевернулись