Я совершенно новый для namespacing и т. Д., Поэтому, надеюсь, это будет просто.jQuery namespacing глобальная переменная
У меня есть переменная в функции наведения jQuery, которая должна быть доступна для глобального пространства.
пространство имен мои глобальные переменные я поместил этот код в файле JS, который происходит перед любым другим кодом JS:
$(function() {
// Namespace
jQuery.icisBoard = {};
});
Я тогда функцию подсказки, которая происходит после того, как это в отдельный файл JS:
// Tooltip function
$(function() {
$('.w_market_updates ul li a:contains("...")').addClass('tip_holder');
$(".tip_holder").hover(function() {
var $containerWidth = $(this).width();
var $offset = $(this).offset();
$.icisBoard.$thisTitle = $(this).attr('title');
$('#icis_dashboard').prepend('<div id="tooltip">' + $thisTitle + '</div>');
$(this).attr('title', '')
var $tipWidth = $('#tooltip').width();
var $tipHeight = $('#tooltip').height();
$('#tooltip').css({
'display': 'block',
'position': 'absolute',
'top': $offset.top - ($tipHeight + 5),
'left': $offset.left - ($tipWidth - $containerWidth)/2
});
}, function() {
$('#tooltip').remove();
$(this).attr('title', $.icisBoard.$thisTitle)
});
});
Это не работает для меня, поскольку вы знаете, что функция зависания не работает. Я все делаю неправильно? Я даже не уверен, что переменная доступна для глобальной области в любом случае в этом случае, и если у меня только $thisTitle
вместо $.icisBoard.$thisTitle
, то функция работает.
ли вы получаете какие-либо сообщения об ошибках? –
№ Странно, потому что, если я объявляю переменную с префиксом «var», она, похоже, не доступна для зависания части функциональности. – RyanP13