Показать сообщение отдельно
  #1 (permalink)  
Старый 13.02.2010, 12:19
Аспирант
Отправить личное сообщение для Flashton Посмотреть профиль Найти все сообщения от Flashton
 
Регистрация: 30.01.2010
Сообщений: 30

Меняющаяся часть в скрипте в зависимости от выбранной ссылки.
Пишу сайт, установил скрипт, который по нажатию на ссылку открывает слой, вот тут: http://antton120.narod.ru/prv2/prvp.html можно посмотреть в действии. Как я понял принцип работы такой: нажимаемая ссылка вызывает скрипт, тот в свою очередь вызывает определённый div класс, выводиться текст.
Вопрос такой: ссылок на странице много, по нажатию каждой должно открываться окно с разным содержанием, как не повторять скрипт много раз, а дописать в нём условие, что если нажата ссылка №1 вызвать класс №1, если нажата ссылка, вызвать класс №2 и тд.?
Да и ещё, как сделать так, что бы это окно было точно по центру?
Вот скрипт:
var shtrStep = 10; //шаг - количество пикселей на которое будет сворачивать слой за один раз
var shtrTimeout = 15;//задержка перед последующей итерацией для эффекта плавности

//текущее количество обрезаемых пикселей слоя слева и справа
var shtrLeft = 315;
var shtrRight = 315;
var shtrWidth = 630;//ширина слоя
var shtrTop = 160;
var shtrBottom = 160;

function shtrOpen_1()
{
	if (shtrLeft>0)
	{
		shtrRight += shtrStep; //раскрываем область усечения справа на shtrStep пикселей
		shtrLeft -= shtrStep; //раскрываем область усечения слева на shtrStep пикселей
        shtrTop -= shtrStep;
		shtrBottom += shtrStep;
        
        var rect = 'rect('+ shtrTop +'px, '+ shtrRight +'px, '+ shtrBottom +'px, '+ shtrLeft +'px)';
		
		document.getElementById('ShowWindow',"../CSS/Stranichnie_of.css").style.clip = rect;
		
		setTimeout(shtrOpen_1,shtrTimeout); //вызываем эту же функцию повторно через shtrTimeout миллисекунд
	}
}

function shtrClose_1()
{
	if (shtrLeft<shtrRight)//Пока левая граница области усечения не встретилась с правой
	{
		shtrRight -= shtrStep; //сужаем область усечения справа на shtrStep пикселей
		shtrLeft += shtrStep; //сужаем область усечения слева на shtrStep пикселей
        shtrTop += shtrStep;
		shtrBottom -= shtrStep;

		var rect = 'rect('+ shtrTop +'px, '+ shtrRight +'px, '+ shtrBottom +'px, '+ shtrLeft +'px)';
        
		document.getElementById('ShowWindow',"../CSS/Stranichnie_of.css").style.clip = rect;
		
		setTimeout(shtrClose_1,shtrTimeout); //вызываем эту же функцию повторно через shtrTimeout миллисекунд
	}
}

function clipImg(on)
{
document.getElementById("clipEx1").style.clip=on?'rect(78px 146px 183px 84px)':'rect(auto,auto,auto,auto)';
}

------------------------------------------
С уважением, Антон.
Ответить с цитированием