2010-09-08 2 views
0

OK rememebr, как я хотел, чтобы IMAGE входил и выходил по слову? Я не знаю, о чем думал, но я ошибся. Я хотел ТЕКСТ идти и выходить.fade text внутри DIV

В чем проблема? Все так, как я хочу, кроме ОДНОЙ вещи ... возможно ли иметь возможность обновлять DIV HTML таким образом, чтобы он FADES во время перехода? Может быть, с помощью jQuery?

Вот то, что я до сих пор:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 

<head> 
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" /> 

    <title>Untitled 2</title> 

    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> 

    <script type="text/javascript"> 
    $(function() { 
    $('#textfield').keyup(function() { 
    switch($(this).val()) { 
     case 'dan': 
     $('#dan').html("<b>Dan is the name!</b>"); 
     break; 
     case 'apple': 
     $('#dan').html("<b>Apples are good!</b>"); 
     break; 
    } 
    }); 
}); 

</script> 

</head> 

<body> 

<input type="text" name="dan" id="textfield" /> 
<div id="dan">Lorem impulse dolor...</div> 
</body> 
</html> 

ответ

2

Как о чем-то вроде этого вместо перекрестного замиранием:

<script type="text/javascript"> 
$(function() { 
    $('#textfield').keyup(function() { 
    switch($(this).val()) { 
     case 'dan': 
     $('#dan').fadeOut("fast",function() { $(this).html("<b>Dan is the name!</b>").fadeIn("fast"); }); 
     break; 
     case 'apple': 
     $('#dan').fadeOut("fast",function() { $(this).html("<b>Apples are good!</b>").fadeIn("fast"); }); 
     break; 
    } 
    }); 
}); 

</script> 

Исчезает старый текст из, свопы на новый текст и исчезает в

Вы можете достичь Плавный переход по абсолютным позиционирующих элементов. и, как было предложено использовать z-индекс. Это сложно, но может быть достигнуто (теоретически). Это просто и более или менее достигает желаемого эффекта.

+0

BRILLIANT! Только у nitpick у меня есть то, что текст снова исчезает, когда я нажимаю клавиши, такие как CTRL, SHIFT, ALT и т. Д. Я просто хочу, чтобы это НЕ исчезло, когда нажали эти клавиши, но я могу жить. БЛАГОДАРЯ!! – nn2

+0

Причина, по которой это происходит, заключается в том, что вы проверяете случай каждый раз, когда выдается ключ. Поэтому, если вы ввели «дан», а затем нажмите «esc», «shift», «alt» и т. Д., Если будете повторно проверять. Вы могли бы решить это несколькими путями. например. исключить эти символы http://api.jquery.com/keyup/ - это, вероятно, лучший способ. Вы также можете проверить, установлен ли этот случай. Я пересмотрю свой ответ, если вы хотите справиться с этим? – User123342234

0

Нет, это не возможно сделать это только один <div>, вы должны иметь два <div> элементы сидят друг над другом, используя z-index, один содержащий <b>Dan is the name!</b> а другой содержит <b>Apples are good!</b>, а затем выцветает, когда исчезает следующий.

Надеюсь, я правильно понял ваш вопрос.