2012-05-09 4 views
0

Я пытаюсь применить эффекты непрозрачности к целой форме, когда она либо зависнет, либо щелкнет окно ввода, когда мышь оставила наклон, чтобы эффект не исчез.jQuery применить анимацию, если форма витала или поле ввода нажато

На данный момент у меня есть следующий HTML:

<form id="search"> 
    <input id="search-input" type="text" value="Search" /> 
    <input id="search-submit" type="submit" value="" /> 
</form> 

И это JQuery:

$('form#search').hover(function() { 
    $(this).stop().animate({"opacity": 1}); 
},function() { 
    $(this).stop().animate({"opacity": 0.6}); 
}); 

На данный момент она работает только тогда, когда вы, однако снова и нет, если #search-input нажата в то время как мышь находится в другом месте на экране, как я могу добавить эту финальную часть?

Это невозможно сделать с помощью CSS3, потому что вы не можете применить эффект непрозрачности для всей формы, когда сосредоточен только вход, поскольку нет родительского селектора.

Pseduo Код конечной цели

$($('form#search').hover(), $('form#search input').focus()).functionOn(){ 
    $('form#search').stop().animate({"opacity": 1}); 
}, functionOff(){ 
    $('form#search').stop().animate({"opacity": 0.6}); 
}); 

ответ

2

Код должен хорошо работать при выполнении задания. Это также обрабатывается, если кто-то выдумывает, когда он в настоящее время редактирует ввод, и если вы редактируете ввод, а затем щелкаете в другой «fadeable» div, он должен затем сделать правильный переход к новому «fadeable» div.

Единственное, чего не хватает, - это ваши анимации, но я думаю, вы можете изменить addClass/removeClass на свой анимит, и вам должно быть хорошо идти.

Это заняло некоторое время, поэтому, надеюсь, это поможет!

http://jsfiddle.net/vpz2S/

4

Почему бы вам не попробовать сделать это только в CSS3? Вы можете сделать это с помощью: hover и: focus.

+0

Это хороший момент, на самом деле, даже не считал, что хотя я всегда стараюсь сделать как можно больше использовать CSS3, насколько это возможно, спасибо. – Dan

+0

И с CSS3 вы будете уверены, что люди могут использовать его без JS. –

+0

Хотя вы не получаете анимацию с помощью css, если вы не используете передачу, и я не уверен, насколько широко поддерживается это? – Dan

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