Скажите где ошибка?! Скрипт. javascript.

программирование JavaScript jQuery ошибка код

$('li.back').hide();
$('li.next').css({
'margin-left' : '340'
})
$('li.next').click(function(){

$('li.next').css({
'margin-left' : '0' //убираем отступ
});
var x = new Array();
x=$('#content div');
y=x.lenght-2;
if (y.show()) {
$('li.next').hide();
}
if ( $('li.back').hide()) {
$('li.back').show()
};


$('#field11, #field12').hide();
$('#field21, #field22').show();

return false;
});


Примечание:
Не работает.
Думаю, что проблема в массиве, но где? И как исправить?

Примечание:
Исправил, по рекомендации:
$('li.back').hide();
$('li.next').css({
'margin-left' : '340'
}).click(function(){

$('li.next').css({
'margin-left' : '0' //убираем отступ
});
var x = new Array();
x=$('#content div');
y=x[x.length - 2];
if ( $('li.back').hide()) {
$('li.back').show()
};
if (y.show()) {
$('li.next').hide();
}

$('#field11, #field12').hide();
$('#field21, #field22').show();
return false;
});
Но не принесло желаемых результатов.

Примечание:
2Nuclear Scientis
js + jQuery (см метки)

Примечание:
попробую расписать алгоритм.
1 Спрятать li.back
2 Выставить отступ для lli.next
3 Отклик на клик:
3.1. Убрать отступ у li.next
3.2. Создать массив со всеми дивами, которые находятся внутри #content (сохраняем в Х)
3.3. Сохранить предпоследний элемент массива (Х) в Y
3.4. Выяснить виден ли li.back
true - ничего не делать
false - показать li.back
3.5. Выяснить виден ли Y
true Прячем li.next
false- ничего не делать
4 Спрятать #field11, #field12
5 Показать '#field21, #field22'

Примечание:
Ковырялся, но все тщетно.
вот JS&HTML
$('li.back').hide();
$('li.next').css({
'margin-left' : '340'
}).click(function(){

$('li.next').css({
'margin-left' : '0' //убираем отступ
});
var x = new Array();
x=$('#content div');
y=x[x.length - 2];

if ( $('li.back').css('display')=='none') {
$('li.back').show();
}
if (y.css('display')!='none') {
$('li.next').hide();
return false;
}

});

<div id="content">

<div id="field11">
<h2>С чего начать</h2>
<p></p>
</div><img class="numberss" src="img/body/content/numbers/1.png" />
<div id="field12">


<p></p>
</div>
<div id="field21">
<h2>С чего начать</h2>
<p></p>
</div><img class="numbers" src="img/body/content/numbers/2.png" />
<div id="field22">


<p></p>
</div>
<div id="field31">
<h2>С чего начать</h2>
<p></p>
</div><img class="numbers" src="img/body/content/numbers/3.png" />
<div id="field32">
<p></p>
</div>
<div class="button">
<ul id="backNext">
<li class="back"> <a href="">Назад</a></li>
<li class="next"> <a href="">Вперед</a></li>
</ul>
</div>
</div>

Примечание:
2Артём Шегеда
зачем инициализировать икс как $(x)
если js должен переменную и так видеть.

Примечание:
2Артём Шегеда
зачем инициализировать икс как $(x)
если js должен переменную и так видеть.
Ответы:
непонятно чего ты хочешь. но кой-какие ошибки видно и так, например:
Nuclear Scientist, скорее jquery .это меняет что-то? Человек ответ на вопрос хочет увидеть, а не обсуждение вопроса...
он будет работать в точности с твоим алгоритмом-но сам алгоритм я не понял
Во-первых если скрипт идёт перед HTML, то он и не сможет сработать верно -- элементов-то, к которым он должен обращаться, ещё не существует. Чтобы этого избежать, лучше использовать выполнение сразу после загрузки. Но не через window.onload (вообще таким образом назначать хандлеры -- очень плохая практика), а стандартными средствами jQuery. Например, так
с позволения автора вопроса приведу корректный код. обрати внимание на то, как инициализируются x и y


15 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.