2010-08-10 2 views
0

Здравствуйте, я довольно новичок в использовании jQuery, и я пытался создать меню, которое показывало разные картинки, когда вы муссировали ссылки. Он покажет одну картинку и скроет еще 4 человека, и когда вы отпустите ссылку, она вернется к снимку по умолчанию. Я использую функцию зависания, но иногда, когда я перемещал мышь на дно, оба изображения (связанные с ссылкой и по умолчанию) отображались, и мне было интересно, есть ли какая-то проверка, которую я мог бы сделать, чтобы убедиться, что это не произошло. Вот как выглядит мой код.jQuery показать/скрыть проблемы

$("#blog-img").hide(); 
    $("#contact-img").hide(); 
    $("#headturner-img").hide(); 
    $("#work-img").hide(); 

    $("#blog").hover(
     function(){ 
        $("#default").hide(); 
      $("#contact-img").hide(); 
      $("#headturner-img").hide(); 
      $("#work-img").hide(); 
      $("#blog-img").show("slow"); 
     }, 
     function(){ 
      $("#blog-img").hide(); 
      $("#default").show("slow");  
      } 
    ); 

Мне бы очень хотелось помочь.

ответ

0

Возможно, вы создали условие гонки, используя время для показа изображений.

Если оба изображения показаны, это, вероятно, потому, что хотя бы один из Shows был выполнен до завершения первого выполненного. Это может произойти, когда вы перемещаетесь дробно - мы говорим о пикселях - в/из объекта с зависанием.

Я рекомендую использовать CSS для решения этой проблемы. Это намного чище, чем использование Javascript.

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