Показать сообщение отдельно
  #13 (permalink)  
Старый 05.08.2010, 12:26
Аватар для Cuprum
Аспирант
Отправить личное сообщение для Cuprum Посмотреть профиль Найти все сообщения от Cuprum
 
Регистрация: 10.01.2010
Сообщений: 33

Сообщение от x-yuri
ключевые слова "частью небольшого скрипта"
Ключевое слово - будет. Скрипт есть
, но пока работает не совсем так, и делает еще не все, что я задумал.
Сообщение от x-yuri
Хотелось бы увидеть этот небольшой скрипт
Не проблема, в конце сообщения покажу.
Сообщение от x-yuri
ну видимо смотрите не с той стороны
Согласен, в том смысле, что js я знаю плохо. Поэтому
Сообщение от x-yuri
Просто пишем код и пишем, и никаких дополнительных движений не делаем
Сообщение от x-yuri
а в чем ситуативность?
в одном случае, когда есть какие-то описательные параметры, сделать проще - сделать одним способом, если эти параметры изменились или отсутствуют, "проще" - значит по-другому.

Сам скрипт (условно назвал "просто вставить цитату" - видел на некоторых форумах, вот пытаюсь сделать что-то подобное)
// Задаем необходимые переменные
	var qPanel = $('<div id="past" style="position:absolute; display:none;"><a href="" id="link">Вставить цитату в поле<a></div>');
	var textarea = $('textarea'); 

	function getSel() { // Функция возвращает текстовое выделение
		if (window.getSelection)	// !IE, используем метод getSelection
			return window.getSelection().toString();
		else	// IE, используем объект selection
			return document.selection.createRange().text;
	}

	qPanel.click(function () { // Обработчик события 
		textarea.val(textarea.val() + '<blockquote>' + getSel() + '</blockquote>\r\n').focus();
		$(this).hide();
		return false;
	});

	qPanel.appendTo('body');

	$('body').mouseup(function(event){
		var widthqPanel = qPanel.outerWidth();
		if (getSel())
		{
			qPanel
			.css({
				top: event.pageY - 40,
				left: event.pageX - widthqPanel/3,
				display: 'block',
				opacity: 0
			})
			.animate({
				top: '-=' + 10 + 'px',
				opacity: 1
			}, 250);
			}
	});
	$('body').click(function () { 
		if (!getSel()) qPanel.hide();
	});

Последний раз редактировалось Cuprum, 05.08.2010 в 12:29.
Ответить с цитированием