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

Все сделал, но пришлось, при создании блока всплывающей подсказки, ставить z-index: 9999, это нормально или лучше по другому делать?

$(function(){
	initGTitle("#gtitle");//Инициализация
});

function initGTitle(idtitle){//idtitle - id блока для всплывающих подсказок.
	if(!$(idtitle).length){
		$('body').append('<div id="'+idtitle.substring(1)+'"></div>');
 		$(idtitle).css({
			"position":"absolute",
			"z-index":9999
		}); 
	}
	$(document).mouseover(function(e){
		var event = e || window.event;
		var target = event.target || event.srcElement; 
		if (!target.title) return;
		moveTitleIntoBox(target, idtitle);//перемещение текста из title в блок для всплыв. подсказки
		viewGTitle(idtitle, event.clientX,event.clientY);
		$(target).data("active", true)//запоминаем элемент, что бы при mouseout выполнялись функции исчезновения только для него.
		return false; 
	});
	$(document).mouseout(function(e){
		var event = e || window.event;
		var target = event.target || event.srcElement; 
		if(!$(target).data("active")) return;//Элемент не активен? выход : продолжаем
		moveBoxIntoTitle(target, idtitle);
		hideGTitle(idtitle);
		$(target).data("active", false);
		return false;
	});
}

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

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

function moveTitleIntoBox(t, idtitle){
	$(idtitle)
		.empty()
		.append(t.title);
	t.title = "";
}

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


И еще вопросы:
Как и куда функция data запоминает информацию?
Как сделать без JQuery, чтоб мой обработчик не мешал пользовательскому?
Ответить с цитированием