2010-12-16 3 views
1
$(document).ready(function() { 
    $("#aboutme-block").hide(); 
    $("#stories-block").hide(); 

    $("div.aboutme").hover(function() { 
     $("#aboutme-block").fadeIn(1000); 
     $("#stories-block").hide(); 
    }); 

    $("div.stories").hover(function() { 
     $("#stories-block").fadeIn(1000); 
     $("#aboutme-block").hide(); 
    }); 
}); 

Может ли кто-нибудь сказать мне, что здесь не так?JQuery многократный эффект наведения не работает

+3

Почему вы думаете, что что-то не так? Вы должны объяснить, что вы хотите, и что он на самом деле делает. – 2010-12-16 17:19:16

+2

Не могли бы вы разместить связанный HTML? – 2010-12-16 17:19:17

+0

, пожалуйста, убедитесь, что все ваши идентификаторы и имена классов верны. – kobe 2010-12-16 17:23:36

ответ

2

Не уверен, что проблема есть, но я бы предотвратить анимации из происходит без необходимости.

$(document).ready(function(){ 
    $("#aboutme-block,#stories-block").hide(); 

    $("div.aboutme").mouseenter(function() { 
    $("#aboutme-block:hidden").fadeIn(1000); 
    $("#stories-block").stop(true,true).hide(); 
    }); 

    $("div.stories").mouseenter(function(){ 
    $("#stories-block:hidden").fadeIn(1000); 
    $("#aboutme-block").stop(true,true).hide(); 
    }); 
}); 

Вот сокращенный вариант, который повторно использует один и тот же обработчик:

$(document).ready(function() { 
    var blocks = $("#aboutme-block,#stories-block").hide(); 

    $("div.aboutme,div.stories").mouseenter(function() { 
     var isAboutme = $(this).hasClass('aboutme'); 
     blocks.eq(+(!isAboutme)).filter(":hidden").fadeIn(1000); 
     blocks.eq(+(isAboutme)).stop(true, true).hide(); 
    }); 
}); 
1

У вас есть $("div.aboutme").hover .... Этот элемент управления найден?

1

использование mouseover вместо hover:

$(document).ready(function(){ 
    $("#aboutme-block").hide(); 
    $("#stories-block").hide(); 

    $("div.aboutme").mouseover(function() { 
    $("#aboutme-block").fadeIn(1000); 
    $("#stories-block").hide(); 
    }); 

    $("div.stories").mouseover(function(){ 
    $("#stories-block").fadeIn(1000); 
    $("#aboutme-block").hide(); 
    }); 
}); 
1

Проблема была решена. Проблема заключалась в том, что версия JQuery запущена. Если вы попытаетесь запустить patrick's example с использованием версии 1.2.6, это не сработает. Проблема с использованием более высокой версии. Спасибо, ребята, за всю помощь :)

Смежные вопросы