0

在此处查看 jsfiddle:

jsfiddle

我试图让“点击我”按钮在第二次点击时向上滑动。第一次单击将框向下滑动,第二次将其向上滑动。任何想法为什么这不能按原样工作?

<div id="slider" class="slide">test</div>

.slide {
  width:100px;
  height:100px;
  background:#ddd;
  display:none;
  -webkit-animation:cssSlideDown 1s ease 0 alternate;
}
@-webkit-keyframes cssSlideDown {
  0%   {height:0px;}
  100% {height:100px;}
}
4

1 回答 1

2

我认为在这种情况下使用转换会更好。

height: 0;
transition: height 1s ease;
overflow: hidden;

然后在 JS

if(!e.style.height || e.style.height == '0px') {
    console.log('foo');
    e.style.height = '100px';
}
else {
    e.style.height = '0';
}

由于您似乎使用的是 jQuery,因此您可以.css改用它,这将为您节省大量代码。

http://jsfiddle.net/ExplosionPIlls/9sRE8/2/

于 2013-06-21T00:26:26.130 回答