2014-12-01 2 views
0

Я хотел бы сделать #click исчезнуть, а #hint появится, когда пользователь нажмет на #click. Я пробовал два формата, первый формат работает, и мне интересно, почему второй формат не работает.jquery: двойная функция под .hover или .click не всегда работает

Первый формат:

$('#click').click(function(){ 
    $(this).fadeTo('fast', 0); 
}); 
$('#click').click(function() { 
    $('#hint').fadeTo('slow', 1); 
}); 

Второй формат

$('#click').click(
     function(){ 
      $(this).fadeTo('fast', 0); 
     }, 
     function() { 
      $('#hint').fadeTo('slow', 1); 
     } 
    ); 

Ссылочный формат, используемый для первого формата (который работает)

$(document).ready(function(){ 
    $('div').hover(
    function(){ 
     $(this).addClass('active'); 
    }, 
    function(){ 
     $(this).removeClass('active'); 
    } 
); 
}); 

ответ

0

Нет версии 'double function' для события click. Вы сначала форматируете, просто присоединяете две функции обработчика событий click.

Просто позвоните ваши методы в одной функции:

$('#click').click(function(){ 
    $(this).fadeTo('fast', 0); 
    $('#hint').fadeTo('slow', 1); 
}); 
0

hover имеет 2 функции, один, когда вы входите, другой при выходе элемента. click имеет только один.

1

Просто выполните это, вам не нужно несколько событий клика на кнопке.

$('#click').click(function(){ 
    $(this).fadeTo('fast', 0); 
    $('#hint').fadeTo('slow', 1); 
}); 
Смежные вопросы