Я объединил идеи из этой темы и придумал это, что полезно для отображения / скрытия подменю:
$("#menu_item_a").mouseenter(function(){
clearTimeout($(this).data('timeoutId'));
$("#submenu_a").fadeIn("fast");
}).mouseleave(function(){
var menu_item = $(this);
var timeoutId = setTimeout(function(){
if($('#submenu_a').is(':hover'))
{
clearTimeout(menu_item.data('timeoutId'));
}
else
{
$("#submenu_a").fadeOut("fast");
}
}, 650);
menu_item.data('timeoutId', timeoutId);
});
$("#submenu_a").mouseleave(function(){
$(this).fadeOut("fast");
});
Кажется, работает для меня. Надеюсь, это поможет кому-то.
EDIT: Теперь реализация этого подхода работает некорректно в IE.
Просто для полноты обратите внимание, что вы также можете избавиться от предупреждения, установив I18n.enforce_available_locales
в true
(или false
) в config/application.rb
:
require File.expand_path('../boot', __FILE__)
.
.
.
module SampleApp
class Application < Rails::Application
.
.
.
I18n.enforce_available_locales = true
.
.
.
end
end