2012-02-05 3 views
-7

Люди, почему jQuery hover не работает? Вот ссылка - http://layot.prestatrend.com/ Спасибо за любой ответ! Вот код:jQuery hover не работает

$('.product_image').hover(
    function() { 
    $('.product_right_block').show(100); 
    }, 
    function() { 
    $('.product_right_block').hide(100); 
    } 
); 
+0

просьба предоставить код, который вы подозреваете, что проблема –

+1

что именно не работает? какой элемент должен изменяться при наведении? – clem

+0

не ссылайтесь на изображение кода, либо покажите нам код, либо jsfiddle –

ответ

1

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

<script type="text/javascript"> 
$(document).ready(function() { 
$('.product_image').hover(
     function() { 
     $(this).children('.product_right_block').show(100); 
     }, 
     function() { 
     $(this).children('.product_right_block').hide(100); 
     } 
    ); 
}); 
</script> 

Не делайте вызовы сценариев в середине вашей страницы. Объявите их в голове или во внешнем файле javascript. Это упрощает поиск и отладку кода, а также помогает предотвратить такие простые ошибки.

+0

Спасибо, мужик, это работа! Но есть еще один вопрос, извините за мой noob - когда я нахожу на изображении все блоки показаны - пожалуйста, посмотрите здесь - http://layot.prestatrend.com/ - есть способ показать только один блок над изображением I я паря? Благодаря! – Anton

+0

@ Антон - см. Мой обновленный ответ. Это потому, что ваш селектор '$ ('. Product_right_block')' говорит, чтобы получить все с этим классом. Вам нужен только тот, который находится внутри зависшего элемента. Поэтому используйте «дети», чтобы выбрать его. – mrtsherman

+0

mrtsherman, большое спасибо! Также я обнаружил, что «найти» insted из «детей» также работает - что, по вашему мнению, лучше всего использовать или нет никакой разницы? – Anton

0

Вам необходимо обернуть свой код в (document).ready(). Ваш код наведения фактически работал нормально, без каких-либо проблем.

Пожалуйста, смотрите демо: http://jsfiddle.net/CAca7/

$(document).ready(function() { 
$('.product_image').hover(
     function() { 
     $('.product_right_block').show(100); 
     }, 
     function() { 
     $('.product_right_block').hide(100); 
     } 
    ); 
}); 
+0

Да, спасибо, брат выше ответил уже, но есть еще один вопрос - когда я нахожу на изображении все блоки показаны - пожалуйста, посмотрите здесь - layot.prestatrend.com - есть способ показать только один блок над изображение, которое я вишу? Благодаря! – Anton

+0

Я посмотрю, держись – ShadowStorm

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