У меня есть код jQuery, который работает, так как я ожидаю, что он будет работать до определенного момента. Здесь - это скрипка
Три элемента меню, при наведении на них, в желтом поле появляется черный квадрат и дополнительная информация.При нажатии на меню 1 и 3, зеленый круг появляется перед меню.При нажатии на меню 2 появляется панель поиска, которая фокусируется с небольшой задержкой.
До этого момента все в порядке.
То, что я хочу, например:
-при щелчке 'menu_item'_2, и я убираю мышь над другим элементом, в желтом поле' info_2 'должно быть показано.
Так что я должен как-то отбросить наведение после того, как был сделан щелчок.И когда я щелкаю другой элемент menu_item, он должен показывать соответствующую информацию в желтом поле.
Я не специалист по jQuery, поэтому, возможно, код должен быть выполнен другим способом.
В любом случае, спасибо за вашу помощь!
$(function() {
$("#search").hover(
function() {
$("#search_info").show();
$("#arrow").show().css('top', 230);
$("#fade_search").animate({ opacity: 0.4},50);
},
function() {
$("#arrow, #search_info").hide();
$("#fade_search").animate({ opacity: 1},50);
}).click(function(e) {
$("#activated").show().css('top', 232);
var focusDelay = $("input[type=text]").fadeIn(100);
setTimeout(function(){
$(focusDelay).focus();
},1000);
e.preventDefault();
});
$("#list").hover(
function() {
$("#list_info").show();
$("#arrow").show().css('top', 205);
$("#fade_list").animate({ opacity: 0.4},50);
},
function() {
$("#arrow, #list_info").hide();
$("#fade_list").animate({ opacity: 1},50);
}).click(function(e) { show up
$("#activated").show().css('top', 209 );
e.preventDefault();
});
$("#program").hover(
function() {
$("#program_info").show();
$("#arrow").show().css('top', 255);
$("#fade_program").animate({ opacity: 0.4},50);
},
function() {
$("#arrow, #program_info").hide();
$("#fade_program").animate({ opacity: 1},50);
}).click(function(e) {
$("#activated").show().css('top', 261 );
e.preventDefault();
});
});