Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Переходы по трекам через уникальный id (https://javascript.ru/forum/misc/62342-perekhody-po-trekam-cherez-unikalnyjj-id.html)

Gordo 06.04.2016 02:49

Переходы по трекам через уникальный id
 
Привет всем! Нужна помощь, делаю новостной сайт для себя, переход по трекам если id идет по порядку 1,2,3,4 и т.д. во все стороны работает отлично, но если хотя бы один id идет не по порядку, он перескакивает следующий трек, а именно, имеются id 1,2,4,5, с 2 id он перепрыгнет на 5, а с обратной стороны с 4 на 1 и т.д. Но если id отличается хотя бы на 5, т.е. 1,2,3,10,11,12 переход не будет работать уже после 3 id только лишь в обратную сторону и так же со след. id

Посоветовали сделать переход по уникальному id, но не знаю как это реализовать, помогите пожалуйста.

Код перехода
switching : function (a,b,c) {
		if (!c) c = 1; else if (c > 100) alert(TextNoTrack);
		if (b === 'next') {
			a=a-1;
			if (document.getElementById(BtClick+a)) jQuery(Xx+BtClick+a).click(); else {c=+c+1;a=a-1;Player.switching(a,'next',c)}
		} else {
			a=+a+1; 
			if (document.getElementById(BtClick+a)) jQuery(Xx+BtClick+a).click(); else {c=+c+1;a=+a+1;Player.switching(a,'prev',c)}
		}
	},

laimas 06.04.2016 13:44

Это a=a-1; и это a=+a+1; выбросить и будет вам счастье. Вы не id используете, а номер передаваемый в функцию, и если поместить ID в массив (кстати, вам посоветовали глупость, ибо уникальный, это не повторяющийся, но не обязательно отличающийся на 1), и извлекать их по индексу (по порядку), то все будет ОК.


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