Показать сообщение отдельно
  #6 (permalink)  
Старый 03.03.2013, 02:03
Аватар для Zuenf
Кандидат Javascript-наук
Отправить личное сообщение для Zuenf Посмотреть профиль Найти все сообщения от Zuenf
 
Регистрация: 27.01.2012
Сообщений: 134

Вот что пока получилось.
Почитал, сделал, но косяки полюбому остались еще)
Хотелось бы узнать как много и какие)
$(document).ready(function(){
	initGTitle("#gtitle");//Инициализация
});

function initGTitle(idtitle){// idtitle - id, уже созданного и оформленного в css, блока для всплывающих подсказок.
	document.onmouseover = function(e) {
		var event = e || window.event;
		var target = event.target || event.srcElement; 
		var title = target.getAttribute('title');
		if (!title) return;
		moveTitleIntoBox(target, idtitle);//перемещение текста из title в блок для всплыв. подсказки
		viewGTitle(idtitle, event.clientX,event.clientY);
		target.gactive = true;//запоминаем элемент, что бы при mouseout выполнялись функции исчезновения только для него.
		return false; 
	};
	document.onmouseout = function(e) {
		var event = e || window.event;
		var target = event.target || event.srcElement; 
		if(!target.gactive) return;//Элемент не активен? выход : продолжаем
		moveBoxIntoTitle(target, idtitle)
		hideGTitle(idtitle);
		target.gactive = false;
		return false;
	};
}

function viewGTitle(idtitle, x, y){
	$(idtitle).css({
		"position":"absolute",
		"top":y-4-$(idtitle).height()-parseInt($(idtitle).css("padding-top"))-parseInt($(idtitle).css("padding-bottom")),
		"left":x+4
	});
	$(idtitle).stop();
	$(idtitle).css("display", "block")
	$(idtitle).animate({
		opacity:1
	}, 400);
}

function hideGTitle(idtitle){
	$(idtitle).stop();
	$(idtitle).animate({
		opacity:0
	}, 400, function(){$(idtitle).css("display", "none");});
}

function moveTitleIntoBox(t, idtitle){
	var gtitletext = t.getAttribute('title');
	$(idtitle).empty();
	$(idtitle).append(gtitletext);
	t.removeAttribute('title');
}

function moveBoxIntoTitle(t, idtitle){
	t.setAttribute('title', $(idtitle).html());
}

Последний раз редактировалось Zuenf, 03.03.2013 в 11:32.
Ответить с цитированием