2017-02-27 87 views
1

这里是我的代码:如何顺利更改元素的值?

$('button').on('click', function(){ 
 
    $('div').html('<p>something new!</p>').fadeIn(1000); 
 
});
div{ 
 
    border: 1px solid gray; 
 
    text-align: center; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div> 
 
    <p>something<p> 
 
</div> 
 
<br> 
 
<button>change div's value</button>

正如你看到的,我用fadeIn(),使更换价值,手术顺利进行。但仍然很快就会发生替换。我怎样才能对它施加影响?

+1

哇..!在我的问题中执行小提琴后,我感到困惑。为什么一个新的分离元素将被创建*(平稳)*点击按钮后?!奇! – stack

回答

2

你可以改变html前添加.hide():

$('button').on('click', function(){ 
 
    $('.d').hide().html('<p>something new!</p>').fadeIn(1000); 
 
});
div{ 
 
    border: 1px solid gray; 
 
    text-align: center; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="d"> 
 
    <p>something<p> 
 
</div> 
 
<br> 
 
<button>change div's value</button>

+0

太好了。谢谢。 Upvote – stack

2

只是把它藏在衰落前:

$('div').hide().html('<p>something new!</p>').fadeIn(1000); 
+0

太棒了。谢谢。 Upvote – stack

2

像这样的事情?

$('button').on('click', function(){ 
 
    var replacingDiv = $('div.replace'); 
 
    
 
    $(replacingDiv).fadeOut(500); 
 
    setTimeout(function(){ 
 
    $(replacingDiv).html('changed').fadeIn(1000); 
 
    }, 500); 
 
});
div{ 
 
    border: 1px solid gray; 
 
    text-align: center; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="replace"> 
 
    <p>something<p> 
 
</div> 
 
<br> 
 
<button>change div's value</button>

+0

是的,谢谢.. upvote – stack