2015-06-09 4 views
0

У меня есть кнопка с функцией .append(). Поэтому каждый раз, когда я нажимаю на эту кнопку, он добавляет в тело 1 новый элемент DIV.JQuery не работает после использования append()

Но элементы DIV имеют функцию fadeIn(). Это означает, что каждый раз, когда я добавляю новый элемент DIV, он должен медленно исчезать, но это не так.

<button id="btn1">CLICK</button> 
<div class="box"></div> 

HERE IS THE DEMO

Я нашел несколько подобных проблем здесь, но ни один из них на самом деле не помогла мне, так что я был бы очень рад, если бы кто-то дал мне достойное решение.

+0

Пожалуйста, разместить код здесь, а не просто ссылку на внешний сайт. – Teemu

+0

Проблема заключается в том, что вы прикрепляете fadein до того, как существует html. Поэтому в jquery, когда вы добавляете новый html, он не имеет прикрепленного fadein. Документация jquery показывает правильное использование: http://api.jquery.com/fadein/ – Brian

+0

Ах, это хорошо знать, спасибо. И как я обычно добавляю элементы и присоединяю их к функциям? Если бы я знал это, моя проблема была бы решена. – user3380284

ответ

2

вы можете попробовать что-то вроде этого

$('#btn1').on('click',function(){ 
    $("body").append(
     $(document.createElement('div')) 
      .addClass('box') 
      .fadeIn(3000) 
    ); 
}); 

Скрипки демо here

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