Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   При некоторых значениях скрипт не выполняется (https://javascript.ru/forum/misc/34216-pri-nekotorykh-znacheniyakh-skript-ne-vypolnyaetsya.html)

Nya-Portal 24.12.2012 19:20

При некоторых значениях скрипт не выполняется
 
$('.animeListButtonInput').click(function() {
	searchSeriesAl = $('.animeListTextInput').attr('value');
	maxSeriesAl = $('#container-block-anime-left').find('a:last').attr('class');
	console.log(searchSeriesAl, maxSeriesAl);
	if (searchSeriesAl >= 1 && searchSeriesAl <= maxSeriesAl) {
		nPagesAl = Math.ceil(searchSeriesAl/14);
		nPagesAlSearch = nPagesAl - 1;
		marginSpanAl = 392 * nPagesAlSearch;
		$('#container-block-anime-left').find('span').attr('style', 'float:left;margin:-'+marginSpanAl+'px 0px 0px 0px;');
		console.log(marginSpanAl);
	} else {
		alert('Серия не найдена');
	}
});

Проблема, в том, что при некоторых значениях у searchSeriesAl не выполняется функционал внутри условия и выводит alert, даже если убрать условие код всё равно не работает. В консоле ошибок нет. console.log(searchSeriesAl, maxSeriesAl); выводит корректно оба значения.

bushstas 24.12.2012 19:40

Друг, раскрой смысл функции, что вообще сделать нужно, может быть существует способ сделать это другим способом (и возможно проще)

lord2kim 24.12.2012 20:02

Nya-Portal, вероятность того, что вы сравниваете на 5 строке строки с числами стремится к 100%...

Nya-Portal 24.12.2012 20:46

searchSeriesAl = $('.animeListTextInput').attr('value')*1;
maxSeriesAl = $('#container-block-anime-left').find('a:last').attr('class')*1;
Уже решил проблемку, просто перемножил на 1. Хоть и значения получал числовые, но всёже выходили строковыми, однако интересная вещь почему в некоторых случаях работала, в некоторых нет)

Nya-Portal 24.12.2012 20:48

Теперь другой вопрос, как обьявить массив в глобальную переменную, чтобы работать с этим массивом за пределами скрипта где лежит сам массив.
Вот для примера:
1 скрипт
<script>
playListAnime = [1,2,3,4,5,6]
</script>

2 скрипт
<script>
$('.container-block-anime-right').html(playListAnime[0]);
</script>

lord2kim 24.12.2012 21:28

Nya-Portal, вы уже сделали массив глобальным

Nya-Portal 24.12.2012 21:46

Да, но в другом скрипте playListAnime не удаётся использовать. В консоле выбивает ошибку.

Nya-Portal 24.12.2012 21:52

Проблемка решена. Можно закрывать тему.


Часовой пояс GMT +3, время: 22:48.