2016-11-06 10 views
2

Я получил этот простой файл js.erb с JQuery:JQuery FadeIn эффект анимации вопрос

$('.hey-popup').empty().hide().append('<div>Hey Ho!</div>').fadeIn('500'); 

Проблема:
Соответствующие элементы DOM становятся приложены к правильному DIV, но почему-то FadeIn Безразлично работайте правильно.

Вместо того, чтобы просто скрывать div, добавляя элементы DOM, а затем затухая его, он, кажется, добавляется первым, а затем fadeOut, а затем снова снова исчезает.

Что происходит?

+1

предоставите свою демонстрацию, что вы хотите !!! –

ответ

1

Только номер, а не строка

.fadeIn(500); 

Из другого примера

$(document).ready(function(){ 
    $("button").click(function(){ 
     $("#div1").fadeIn(); 
     $("#div2").fadeIn("slow"); 
     $("#div3").fadeIn(3000); 
    }); 
}); 

https://jsfiddle.net/L2xewbea/

1

Дональд Ву является правильным, параметр должен быть числом не строка.

Если вы хотите немного контролировать последовательность, вы можете использовать функции обратного вызова, которые предоставляет API, - они будут выполнены, когда эффект (скрыть и т. Д.) Будет завершен. Например:

$('.hey-popup').empty().hide(500, function() { 
    $(this).append('<div>Hey Ho!</div>').show(500); 
}); 

https://jsbin.com/hucaba/edit?html,js,output

+0

Странно, потому что, если я делаю то, что вы предлагаете, оно не исчезает, оно просто появляется. – jonhue

+0

Кажется, что я работаю в примере jsbin, с которым я связан (извините, если это «работает на моей машине!»). Может быть, это конкретный браузер, или что-то еще происходит, какие-то другие js? –

+0

... и убедитесь, что параметр длительности, переданный в 'fadeIn', является числом, а не строкой, как это было в вашем исходном коде –

1

JQuery всегда работает с

$ (документ) .ready (функция() {

рабочий пример

$(document).ready(function(){ 
 
$('.hey-popup').empty().hide().append('<div>Hey Ho!</div>').fadeIn('500'); 
 
})
<script src="https://code.jquery.com/jquery-1.12.4.js"></script> 
 
<div class="hey-popup">my name is name</div>

+0

Не уверен, что это на 100% полезно, не в последнюю очередь потому, что функция готовности документа может иметь приятный ярлык ... (https://www.sitepoint.com/jquery-document-ready-plain-javascript/), но также потому, что вопроситель смотрит на что-то в Rails звуками этого. Я не могу реплицировать проблему либо с готовым документом, либо без него (https://jsfiddle.net/annoyingmouse/trj7cr83/). Возможно, нам нужно больше контекста для ответа? – annoyingmouse

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

  • Нет связанных вопросов^_^