2010-01-03 2 views
-2

В моем functions.js у меня есть:JQuery функция парения вызывает мой ДИВ, чтобы скрыть

$(document).ready(function() {  
    $("#cat").hover(function() { 
    $("#kiti").show(); 
    }) 
    $("#kiti").mouseout(function() { 
    $("#kiti").hide();  
    })         
}) 

Html файл:

<a id="cat" href="#">category</a> 
<div id="kiti"> 
    <a href="#">sub1</a> 
    <br /><a href="#">sub2</a> 
</div> 

Почему, когда я наведите курсор мыши на SUB1, SUB1 и SUB2 шкуры? Если это простой текст, все в порядке. Надеюсь, у вас есть мой вопрос.

Редактировать: Кстати. Есть ли способ сделать что-то вроде die(); или exit(); с php в javascript, чтобы остановить выполнение?

+1

Спасибо Крис Фармер для отступа, что Jquery код правильно –

+0

Я хотел сделать то же самое, но я не секрет производства. –

+1

Tomas - какой эффект вы пытаетесь достичь? При наведении курсора на #cat вы хотите показать #kiti, и когда вы выходите из #kiti, вы хотите скрыть #kiti? Итак, это своего рода вложенное и динамичное расширяющееся меню? –

ответ

5

$.hover() принимает два аргумента. Если вы просто хотите использовать первый, используйте вместо этого $.mouseover().

$(function(){ 
    $("a#cat").mouseover(function(){ 
    $("#kiti").show(); // shows <div id="kiti">...sub1...sub2...</div> 
    }); 
    $("#kiti").mouseleave(function(){ 
    $(this).hide(); // hides <div id="kiti">...sub1...sub2...</div> 
    }); 
}); 
+0

Возможно, стоит отметить, что jQuery 1.4 (который все еще находится в Alpha) поддерживает передачу только одной функции на 'hover()'. – James

+0

Он все еще не работает. Когда я накладываю указатель мыши на sub1, все шкуры скрываются. –

+0

@ Томас, попробуйте мое обновленное решение. – Sampson

3

mouseout является неправильным событие - это срабатывает при наведении над дочерним элементом.
Использование mouseleave вместо:

$("#cat").mouseenter(function() { 
    $("#kiti").show(); 
}); 
$("#kiti").mouseleave(function() { 
    $("#kiti").hide();  
}); 

Посмотри здесь: http://jsbin.com/irexo
Документация здесь: http://docs.jquery.com/Events/mouseout

+0

+1, избили меня до удара. – Aaronaught

+0

Бывает постоянно. Вы получите меня в следующий раз :) – Kobi

+0

Спасибо. И можете ли вы сказать мне, что я должен добавить, когда я убираю указатель мыши из категории мгновенно? –