您应该开始使用 jQuery 或其他一些 js 库。它比 js 容易得多,你可以将它用作大多数 js 的简写,而不是实际上很长的、绘制出来的 js。
简单地将<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
(或任何最新的谷歌 CDN 是https://developers.google.com/speed/libraries/devguide#jquery)放在您的<head>
.
然后,在您的event
代码中(如果您使用 jQuery 会更容易:$.click()
对于按钮、$.change()
复选框、选择、单选...),将第二个链接中的代码看起来更像
$('#theIDofTheButtonThatTriggersThisAnimation').click(function(){
$('#theIDofTheElementYouWantToSmoothlyScroll').animate({
scrollTop: 0
}, 2000);
});
但是,如果您正在尝试制作动画,我建议您查看一些基本的 css 属性,例如position:absolute
并position:relative
避免发疯。
我仍然不太确定您的代码中发生了什么,因为相对于现在使用 css 和 jQuery 的处理方式而言,它非常不标准。我会把它分解成一些简单的东西来学习一般概念。
对于您的示例,您应该基于我的动画示例,我是如何学习的:https : //stackoverflow.com/a/12906254/1382306
我认为您正在尝试根据$.click()
. 在我的答案中的小提琴中,它向左和向右滑动。您可以使用 csstop
属性而不是left
.
一旦你弄清楚如何上下移动整个div
,你就可以制作一个relative
容器来容纳所有的内容absolute
div
s 并div
通过设置它们的top
s 来循环操作所有内容s。这里有一个快速入门absolute
中relative
:http://css-tricks.com/absolute-positioning-inside-relative-positioning/
我所有的动画都有relative
容器和absolute
内容。这就是我制作自定义 gridview 插件的方式,该插件可以立即压缩整个数据库。
此外,在div
动画方面确实没有过度使用s 。试图让 1div
做所有事情是一场噩梦。
试试看你能不能把我的小提琴重新格式化成垂直滑出。一旦你做到这一点,研究absolute
在relative
一点点。如果您有更多问题,请再问一个问题。
将您的想法转变为这些哲学,您将开始快速浏览此类编码。