首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用不带插件的css3和jquery滑入和滑出

问使用不带插件的css3和jquery滑入和滑出
EN

Stack Overflow用户
提问于 2013-08-01 15:39:08
回答 1查看 328关注 0票数 1

我使用css3动画将一个div向下滑动到一个只有几个div集的列表中。我试图实现一个幻灯片进和滑出的效果,就像垂直新闻滚动条在这个网站

http://buildinternet.s3.amazonaws.com/projects/totem/index.html

Css

代码语言:javascript
复制
.slidein { 
    animation: slide 1799ms linear; 
    top: 0px; 
    -webkit-animation: slide 1799ms linear;
}    
@keyframes slide {
    0% { top: -100px; }
    100% { top :0px; }
}
@-webkit-keyframes slide {
    0% { top: -100px; }
    100% { top: 0px; }
} 

我使用jquery添加了上面的类来实现slideIn效果,并在前面添加了一个div

Jquery

代码语言:javascript
复制
 $(".parentDiv")
      .prepend('<div class="newdiv slidein"></div>')
      .children().slice(5);

使用slice来减少paent div中的所有其他div。

对于向下滑动,我尝试使用下面的div使用top和bottom值来上下移动它。

代码语言:javascript
复制
$(".existingDivs").css( {"bottom": ""} );
$(".existingDivs").css({"bottom":"90px"});
$(".existingDivs").animate({   
   top: '+= 92'          
},2000);  

但它在chrome中不起作用,在火狐中部分起作用。有没有办法添加平滑的滑动效果,如垂直滚动条。

EN

回答 1

Stack Overflow用户

发布于 2013-08-01 16:25:55

此解决方案仅使用jQuery而不使用css3动画。

HTML:

<div class="parent"></div>

CSS:

代码语言:javascript
复制
.parent
{
    height: 200px;
    overflow: hidden;
    width: 100px;
    text-align; center;
    position: relative;
}
.child
{
    width: 96px;
    height: 40px;
    margin: 1px;
    position:absolute;
}
div
{
    border: 1px solid black;    
}

JS:

代码语言:javascript
复制
var child = $("<div></div>").addClass("child");
child.css("top","-44px");
$(".child").animate({"top": "+=44"});
$(".parent").prepend(child);
child.animate({"top":"0px"});

top div 44,因为子+=的宽度是40px和+4,以弥补边距和边框。

请在以下位置查看代码:

http://jsfiddle.net/mSRg6/2/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17987887

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档