2015-01-04 3 views
1

Я тестирую свой сайт, добавляя некоторые взаимодействия jQuery. Я создал этот скрипт:mouseenter и mouseleave не работают в jQuery

$(document).ready(function() { 
    $('.flash').on({ 
     mouseenter: function (
      $('.flash').hide(); 
    }, 
    mouseleave: function { 
     $('.flashOn').show(); 
    } 
}); 

Очень просто огонь вспышки: http://www.paolobergomi.it/sitob/index.html но на самом деле у меня нет какой-либо ключ, почему не работает. Я отлаживал много, но то же самое. Div правильно помещены в HTML-файлы, которые вы видите, сценарий в порядке (я думаю), но он не будет работать, любой ключ приветствуется.

ответ

4

mouseenter и mouseleave отлично работает в JQuery, когда вы используете правильный синтаксис:

$('.flash').on({ 
    mouseenter: function() { 
     $('.flashOn').hide(); 
    }, 
    mouseleave: function() { 
     $('.flashOn').show(); 
    } 
}); 

Example fiddle

Я также предполагая, что mouseenter обработчик должен скрыть .flashOn элемент?

+1

Новый синтаксис для меня несколько обработчиков на одном элементе, tyvm сэр – sodawillow

+0

я создал два класса в CSS , один отображается none (flash On), в основном, когда i mouseover я хочу, чтобы изображение, содержащееся во втором div (display none), отображало и скрывало класс «flash». но это все равно не работает. Я попробовал ваш, но не работает. спасибо в любом случае –

+0

привет, он работает. хорошо, извините за плохое объяснение. Мне нужно, чтобы второе изображение перекрывалось и происходило первым, а не рядом ... Мне нужно исправить это, но все в порядке. спасибо –

1

У вас есть синтаксические ошибки для mouseenter и mouseleave.

$('.flash').on({ 
    mouseenter: function (// here should be(){ 
    $('.flashOn').hide(); 
    }, 
    mouseleave: function { // here should be(){ 
    $('.flashOn').show(); 
    } 
}); 
+0

спасибо, это хорошо. теперь я получил правильный синтаксис, как я написал andrew. я просто нуждаюсь в небольшой модификации в том, что два изображения не рядом, а одно происходит с другим. –

0

окончательное решение

$('.flash').on ({ 
    mouseenter : function(){ 

    $('.flash').hide(); 
    $('.flashOn').show(); 
}, 
    mouseleave: function (){ 
    $('.flashOn').hide(); 
    $('.flash').show(); 

} 
}); 

спасибо за правильный синтаксис, это нормально Теперь