Witam.
Zakupiłem książkę do nauki HTML5, myślałem, że będzie od podstaw, jednak nie jest.
Teraz przepisując kod z książki wyskakują mi błędy. Nie wiem czy to błąd w druku, ale mimowszystko blokuje to mój dalszy postęp w nauce.
Chciałbym o analizowanie przedstawionych przezemnie listingów w celu wyeliminowania błędów.
Uncaught SyntaxError: Unexpected string dom.js:5
jawel.dom = (function() {
var $ = Sizzle;
function hasClass(el, clsName){
var regex = new RegExp("(^|\\s)"" + clsName + " (\\s|$)");
return regex.test(el.className);
}
function addcClass(el, clsName){
if(!hasClass(el, clsName)) {
el.className += " " + clsName;
}
}
function removeClass(el, clsName){
var regex = new RegExp("(^|\\s) " + clsName + " (\\|$)");
el.className.replace(regex, " ");
}
return{
$:$,
hasClass : hasClass,
addClass : addClass,
removeClass : removeClass
};
})();
Uncaught SyntaxError: Unexpected token ) game.js:20
jawel.game = (function(){
var dom = jawel.dom,
$ = dom.$;
//chowa aktywny ekran i wyswietla ekran
//o podanym atrybucie id
function showScreen(screenId) {
var activeScreen = $("#game .screen.active")[0],
screen = $("#" + screenId)[0];
if(activeScreen){
dom.removeClass(screen, "active");
}
dom.addClass(screen, "active");
//Odslania publiczne metody
return{
showScreen : showScreen
};
})();
Proszę o wskazanie tych dwóch błędów. @edit Jeszcze się zastanawiam co t jest: (^|\s) (\|$) Może mi ktoś wytłumaczyć prostym językiem? @edit2 W pierwszym przykładzie sobie poradziłem, w książce jest błąd. Jednak nadal nie wiem co z drugim przykładem i co oznaczają te ciągni znaków: (^|\s) (\|$). @edit3 Teraz w przykładzie pierwszym mam taki błąd: Uncaught ReferenceError: addClass is not defined dom.js:23
jawel.dom = (function() {
var $ = Sizzle;
function hasClass(el, clsName){
var regex = new RegExp("(^|\\s)" + clsName + "(\\s|$)");
return regex.test(el.className);
}
function addcClass(el, clsName){
if(!hasClass(el, clsName)) {
el.className += " " + clsName;
}
}
function removeClass(el, clsName){
var regex = new RegExp("(^|\\s) " + clsName + " (\\|$)");
el.className.replace(regex, " ");
}
return{
$:$,
hasClass : hasClass,
addClass : addClass,
removeClass : removeClass
};
})();
To jakaś masakra… @edit~ Heh, dobre sobie nawet przykłady pobrane z internetu od tej książki mają błędy… Uncaught ReferenceError: jewel is not defined dom.js:1
jewel.dom = (function () {
var $ = Sizzle;
function hasClass(el, clsName) {
var regex = new RegExp("(^|\\s)" + clsName + "(\\s|$)");
return regex.test(el.className);
}
function addClass(el, clsName) {
if (!hasClass(el, clsName)) {
el.className += " " + clsName;
}
}
function removeClass(el, clsName) {
var regex = new RegExp("(^|\\s)" + clsName + "(\\s|$)");
el.className = el.className.replace(regex, " ");
}
return {
$: $,
hasClass: hasClass,
addClass: addClass,
removeClass: removeClass
};
})();
Uncaught ReferenceError: jewel is not defined game.js:1
jewel.game = (function () {
var dom = jewel.dom,
$ = dom.$;
/* Ukrywa aktywny ekran (jeśli taki został wybrany) i wyświetla ekran
* o określonym identyfikatorze. */
function showScreen(screenId) {
var activeScreen = $("#game .screen.active")[0],
screen = $("#" + screenId)[0];
if (activeScreen) {
dom.removeClass(activeScreen, "active");
}
dom.addClass(screen, "active");
}
// Odsłania metody publiczne.
return {
showScreen: showScreen
};
})();
Niech mi ktoś pomoże, czy są to błędy przez które dalsze pisanie tej aplikacji nie ma sensu(kierując się przykładami z książki)?