Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #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)';
}

------------------------------------------
С уважением, Антон.
Ответить с цитированием
  #2 (permalink)  
Старый 18.02.2010, 18:36
Интересующийся
Отправить личное сообщение для cooli0 Посмотреть профиль Найти все сообщения от cooli0
 
Регистрация: 25.01.2010
Сообщений: 20

Писать за вас код вряд ли кто-то будет. Я бы посоветовал найти какую-нибудь небольшую JS библиотеку, которая выводит различные окошки такого плана. В вашем случае - это будет плюс, так как большинство библиотек - кросс-браузерны. Пример - YUI. Там же есть возможность оцентровать появляющееся окно.

Пример:

http://developer.yahoo.com/yui/examp...n2_source.html

Читать
http://developer.yahoo.com/yui/container/
http://developer.yahoo.com/yui/conta...lay/index.html
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Условия в скрипте в зависимости от input type="radio" FladeX jQuery 15 17.02.2010 17:27