Я использую плагин jquery с именем tipTip (http://code.drewwilson.com/entry/tiptip-jquery-plugin). Я использую его для сайта электронной коммерции, и когда пользователь наводит курсор на изображение товара, появляется информационное окно с дополнительной информацией о товаре.
Поведение tipTip по умолчанию состоит в том, что при наведении курсора на указатель мыши исчезает указатель мыши. Вы также можете установить keepAlive: true, чтобы требовать, чтобы пользователь наводил указатель мыши на поле наведения, чтобы оно исчезло. Ни один из сценариев не подходитдля меня. У меня есть ссылки в окне наведения, поэтому пользователь должен иметь возможность войти в это поле, не пропуская его. Но я также не хочу, чтобы от пользователя требовалось войти в это поле, чтобы оно исчезло.ссылка и поле должны заставить его исчезнуть.
Чтобы обойти это, я пытался поместить jquery delay () в javascript tipTip. Я также пытался использовать setTimeout. Но я нашелчто все, что я могу получить, это то, что поле наведения остается, пока пользователь не перейдет на другую ссылку.pect delay () означает, что он исчезает через указанное мной количество миллисекунд, независимо от того, перешел ли пользователь на другую ссылку.
Полный код js tipTip можно увидеть здесь: http://code.google.com/p/geoapps/source/browse/trunk/capstones/talha_khopekar_2012/jquery.tipTip.js?spec=svn108&r=108
Я пытался добиться задержки, исправляя последние несколько строк.Я попытался добавить задержку следующим образом:
function deactive_tiptip(){
opts.exit.call(this);
if (timeout){ clearTimeout(timeout); }
tiptip_holder.delay(1000).fadeOut(opts.fadeOut);
}
Но, как я уже сказал, эффект этого состоит в том, что окно наведения остается на месте до тех пор, пока пользователь не перейдет на другую ссылку и не активирует новое окно наведения.Я действительно не понимаю, почему это так.Насколько я понимаю, функция задержки должна просто задерживать fadeOut на 1 секунду, а затем fadeOut должен продолжаться как обычно.