ajax 显示容器未按预期设置动画
ajax show container not animating as expected
我正在编写一个插件,用于显示 ajax content.It 被包裹在 ajax-content-wrap
中。我已经应用了 jquery animate() 但使用 auto [= 时不流畅24=] fade() 函数也是 animating.But 当我使用特定高度时 animate() 有效而 fadeIn() 无效。
我的html代码如下
<div class="ajax-content-wrap">
<div class="ajax-content-show">
//here to show contents from external files
</div>
</div>
我的jquery
$('.ajax-content-show').animate({height:'200px'}, function(){
$(this).fadeIn('slow', function(){
$(this).fadeIn('slow').load(url);
})
});
我的css
.ajax-content-show{
padding: 20px 20px;
display: block;
border: 1px solid #eee;
margin: 10px 0;
}
如果我理解你想要达到的目标,这里有一个解决方案:
$('.ajax-content-show').animate({
height: '200'
}, 500, "linear",
function () {
$('.ajax-content-show').hide(0, function () {
$('.ajax-content-show').load(url, function () {
$('.ajax-content-show').fadeIn('slow')
});
});
});
如果不是,你能解释一下(按步骤)你需要什么吗,首先 "div" 200px 然后淡入 "loaded page" 或者同时做这两个?
注意:设置高度 属性 时不需要包括 'px',JQuery 假定像素为默认值。
你想要这个吗?
请参阅代码段。
$(".ajax-content-show").load("https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js", function(){
$(this).slideDown(10000); // change the time, or just remove it if you think too slow.
$(this).addClass("loaded");
});
.ajax-content-show{
padding: 20px 20px;
display: none;
border: 1px solid #eee;
margin: 10px 0;
height: auto;
opacity: 0;
transition: opacity 5s ease;
max-height: 500px; /* This just for show that sliding is working */
}
.ajax-content-show.loaded {
opacity: 1;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="ajax-content-wrap">
<div class="ajax-content-show">
//here to show contents from external files
</div>
</div>
我正在编写一个插件,用于显示 ajax content.It 被包裹在 ajax-content-wrap
中。我已经应用了 jquery animate() 但使用 auto [= 时不流畅24=] fade() 函数也是 animating.But 当我使用特定高度时 animate() 有效而 fadeIn() 无效。
我的html代码如下
<div class="ajax-content-wrap">
<div class="ajax-content-show">
//here to show contents from external files
</div>
</div>
我的jquery
$('.ajax-content-show').animate({height:'200px'}, function(){
$(this).fadeIn('slow', function(){
$(this).fadeIn('slow').load(url);
})
});
我的css
.ajax-content-show{
padding: 20px 20px;
display: block;
border: 1px solid #eee;
margin: 10px 0;
}
如果我理解你想要达到的目标,这里有一个解决方案:
$('.ajax-content-show').animate({
height: '200'
}, 500, "linear",
function () {
$('.ajax-content-show').hide(0, function () {
$('.ajax-content-show').load(url, function () {
$('.ajax-content-show').fadeIn('slow')
});
});
});
如果不是,你能解释一下(按步骤)你需要什么吗,首先 "div" 200px 然后淡入 "loaded page" 或者同时做这两个?
注意:设置高度 属性 时不需要包括 'px',JQuery 假定像素为默认值。
你想要这个吗? 请参阅代码段。
$(".ajax-content-show").load("https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js", function(){
$(this).slideDown(10000); // change the time, or just remove it if you think too slow.
$(this).addClass("loaded");
});
.ajax-content-show{
padding: 20px 20px;
display: none;
border: 1px solid #eee;
margin: 10px 0;
height: auto;
opacity: 0;
transition: opacity 5s ease;
max-height: 500px; /* This just for show that sliding is working */
}
.ajax-content-show.loaded {
opacity: 1;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="ajax-content-wrap">
<div class="ajax-content-show">
//here to show contents from external files
</div>
</div>