Показать сообщение отдельно
  #1 (permalink)  
Старый 21.04.2011, 13:54
Аспирант
Отправить личное сообщение для DDSSDD Посмотреть профиль Найти все сообщения от DDSSDD
 
Регистрация: 06.04.2011
Сообщений: 53

Не работает скрипт при дублировании
Подскажите!
Есть скрипт:

function InstallScroll(prfx)
	{
		var cont=document.getElementById("gallery3"+prfx);
		var cont=document.getElementById("gallery2"+prfx);
		var left=document.getElementById("lefte"+prfx);
		var right=document.getElementById("right"+prfx);
				var right=document.getElementById("right1"+prfx);
				var left=document.getElementById("lefte1"+prfx);

		if(cont.children.length<1)
		{
			cont.style.display='none';
			return;
		}

		left.style.display=cont.scrollLeft>0?"inline":"inline";
		if(cont.offsetWidth)
		{
			right.style.display=cont.scrollWidth-cont.scrollLeft>cont.offsetWidth?"inline":"inline";
		}
		else right.style.display=cont.getElementsByTagName("DIV").length>3?"inline":"inline";
	}
	function DoScroll(dir, prfx)
	{
		var cont=document.getElementById("gallery3"+prfx);
			var cont=document.getElementById("gallery2"+prfx);
		var left=document.getElementById("lefte"+prfx);
		var right=document.getElementById("right"+prfx);
		var right=document.getElementById("right1"+prfx);
				var left=document.getElementById("lefte1"+prfx);
		left.style.display="none";
		right.style.display="none";

		var drshn=200;
		AnimateProperty(cont, 'scrollLeft', cont.scrollLeft+dir*cont.offsetWidth, drshn, "");
		setTimeout('InstallScroll("'+prfx+'")', drshn+100);
	}
	function ApplyGal(pref, func)
	{
		var gal=document.getElementById("gallery3"+pref);
		var gal=document.getElementById("gallery2"+pref);
		var as=gal.getElementsByTagName("A");
		for(var i=as.length; i--;)as[i].onclick=new Function(func);
	}
	function Hide(obj)
	{
		ApplyGal(obj.alt, 'return false;');

		obj.src="plus.gif";
		obj.title='Открыть';
		obj.onclick=new Function('ShowHide(this);');
		document.getElementById("subcont"+obj.alt).style.display="none";
	}
	function HideAll()
	{
		var imgs=document.getElementsByName("shimg");
		for(var i=imgs.length; i--;)Hide(imgs[i]);
	}
	function ShowHide(obj)
	{
		HideAll();
		

		obj.src="minus.gif";
		obj.title='Закрыть';
		obj.onclick=new Function('HideAll();');
		ApplyGal(obj.alt, 'return hs.expand(this)');
		document.getElementById("subcont"+obj.alt).style.display="block";
	}


Который управляет блоком и его элементами с ID gallery
При вставке еще одного блока с таким ID - скрипт перестает работать.
Полагаю, что нужно в идентичных блоках менять ID. К примеру ID gallery1, ID gallery2.
Но как это сделать - не знаю, так как не изучал Javascript.

Последний раз редактировалось DDSSDD, 21.04.2011 в 14:38.
Ответить с цитированием