Показать сообщение отдельно
  #12 (permalink)  
Старый 20.11.2014, 23:01
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

То есть на словах нельзя передать, непременно требуется носом ткнуть, а значит написать куда ткнуть. Ну, может в этом есть та самая сермяжная правда. Если бы на словах все понимали, кто б тогда вообще писал.

проиграйте

http://learn.javascript.ru/play/wE82ub

Текст действующего вещества (под нетронутую тряхомудию в исходнике)

window.onload = function() {

	var image = document.getElementById("container"),
		next = document.getElementById("next"),
		prev = document.getElementById("previous"),
		image_list = document.querySelectorAll(".rule"),
		last;

	for(var i=0;i<image_list.length;i++)
		image_list[i].dataset.index=i;
	next.dataset.index=0;

	function render_image(e)
	{
		var index = parseInt(e.target.getAttribute('data-index'));
		var length=image_list.length;
		prev.dataset.index=(index-1 in image_list)?index-1:length-1;
		next.dataset.index=(index+1 in image_list)?index+1:0;

		var img = new Image();
		img.onload=function(){
			image.style.backgroundImage='url(\''+this.src+'\')';
		};
		img.src=e.target.href;

		e.target.classList.toggle('active');
		if(last!=null)
			last.classList.toggle('active');
		last=e.target;

		e.stopPropagation();
		e.preventDefault()
		return false;
	}

	document.querySelector(".nav").addEventListener('click',render_image,true);
	next.addEventListener('click',function(){image_list[this.dataset.index].click();});
	prev.addEventListener('click',function(){image_list[this.dataset.index].click();});
	next.click();
}


Как видите не одного текстового ключа, что, в том числе, позволяет смело смотреть in коллекцию, ибо невразумительно там найти иные ключи цифрами кроме тех, которые отождествляют искомое.

Все тупо сделано на индексации, которая, собственно, рулит, а хрень типа if(name='next') - сосет.
Ответить с цитированием