Не работает скрипт при дублировании
Подскажите!
Есть скрипт: 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. |
Прошу прощения - выше скрипт с уже сделанными мной изменениями (как я это себе представляю) - не работает.
Вот оригинал: <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> |
Часовой пояс GMT +3, время: 19:04. |