Это не определено, потому что вы используете строковую версию setTimeout
, поэтому ваша переменная div
не находится в области видимости. Это не следует использовать, если это вообще возможно.
Попробуйте вместо этого:
function hideWindow(div) {
var t = setTimeout(function() {
jQuery(div).hide();
}, 1000);
}
В качестве альтернативы, если вы хотите использовать анимацию jQuery, вы можете поместить задержку непосредственно в ваш обработчик событий, используя .delay()
:
google.maps.event.addListener(marker, 'mouseout', function () {
jQuery(tooltip).delay(1000).hide('fast');
});