Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #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.
Ответить с цитированием
  #2 (permalink)  
Старый 21.04.2011, 13:57
Аспирант
Отправить личное сообщение для DDSSDD Посмотреть профиль Найти все сообщения от DDSSDD
 
Регистрация: 06.04.2011
Сообщений: 53

Прошу прощения - выше скрипт с уже сделанными мной изменениями (как я это себе представляю) - не работает.

Вот оригинал:
<script>
				function InstallScroll(prfx)
	{
		var cont=document.getElementById("gallery"+prfx);
		var left=document.getElementById("lefte"+prfx);
		var right=document.getElementById("right"+prfx);

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

		left.style.display=cont.scrollLeft>0?"inline":"none";
		if(cont.offsetWidth)
		{
			right.style.display=cont.scrollWidth-cont.scrollLeft>cont.offsetWidth?"inline":"none";
		}
		else right.style.display=cont.getElementsByTagName("DIV").length>3?"inline":"none";
	}
	function DoScroll(dir, prfx)
	{
		var cont=document.getElementById("gallery"+prfx);
		var left=document.getElementById("lefte"+prfx);
		var right=document.getElementById("right"+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("gallery"+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";
	}
</script>

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



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скрипт не работает в FF и опера, но работает в IE(в чем дело???) Cepera Firefox/Mozilla 1 24.08.2012 16:46
не работает скрипт с HEX значениями color DeaDiK Общие вопросы Javascript 2 17.04.2011 15:00
Скрипт работает только если подключать js в самом низу html! Pekkonen jQuery 3 26.01.2011 01:44
Не работает скрипт :( VladimirV Javascript под браузер 5 21.12.2010 14:26
скрипт работает в IE не работает в Opera!!! Ikram Opera, Safari и др. 3 29.10.2010 10:04