Переменная jQuery не скрывает - PullRequest
1 голос
/ 23 мая 2011

Вот мой код:

   $('#details').hover(function() {
    var tag = 'div.cds'
    var offset = $(this).position();
    var width = $(tag).outerWidth();
    var height = $(tag).outerHeight();
    $(tag).show();
    $(tag).css('left', offset.left - width + 'px');
    $(tag).css('top', offset.top - height + 'px');
}, function() {
    $(tag).hide();
});

Когда я "мышью", переменная "tag" не скрывается.

JSFiddle здесь: http://jsfiddle.net/79kLc/

Спасибо!

Ответы [ 2 ]

5 голосов
/ 23 мая 2011

Узнайте о scope

var tag = 'div.cds'
 $('#details').hover(function() {
    var offset = $(this).position();
    var width = $(tag).outerWidth();
    var height = $(tag).outerHeight();
    $(tag).show();
    $(tag).css('left', offset.left - width + 'px');
    $(tag).css('top', offset.top - height + 'px');
}, function() {
    $(tag).hide();
});

Переменная tag не существует в области действия второй функции. Поэтому я добавил tag в глобальную область. и это должно работать сейчас.

0 голосов
/ 23 мая 2011

Потому что tag нельзя отнести к этой области. Вам придется снова использовать селектор. Как это: $('div.cds').hide();

Обновление скрипки: http://jsfiddle.net/79kLc/1/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...