A-A+
jquery中animate列表滚动效果代码
animate在jquery中的作用是animate() 方法执行 CSS 属性集的自定义动画。该方法通过CSS样式将元素从一个状态改变为另一个状态。CSS属性值是逐渐改变的,这样就可以创建动画效果,下面来看一些关于animate的例子。
最简单的animate例子
方式一:以“属性名/值”对象的方式定义动画终止样式属性。例如:$("div").animate( {width:"1000px"})
以上代码能够将div从原有的宽度调整到1000px。也可以一次性使用多组“属性名/值”对象。例如:
$("div").animate( {width:"1000px",fontSize:20})
以上代码能够将div从原有的宽度调整到1000px,从原有的字体大小调整到20px。需要特别注意以下三点:
1.如果尺寸没有单位,那么默认单位是px。
2.属性值需要用双引号包裹,如果属性值是数字的话可以省略。
3.类似font-szie或者background-color这样的属性需要去掉中间的中横线,并且第二个单词首字母要大写
例子,用animate实现简单的列表数据滚动,可以通过按钮查看上一条和下一条数据,实现效果如下:引用文件:jquery.js
- <section class="list">
- <input type="button" value="up" />
- <div id="parent">
- <div>
- <div id="inner">
- <p>这是列表数据1</p>
- <p>这是列表数据2</p>
- <p>这是列表数据3</p>
- <p>这是列表数据4</p>
- <p>这是列表数据5</p>
- <p>这是列表数据6</p>
- <p>这是列表数据7</p>
- <p>这是列表数据8</p>
- <p>这是列表数据9</p>
- <p>这是列表数据0</p>
- <p>这是列表数据11</p>
- </div>
- </div>
- </div>
- <input type="button" value="down" />
- </section>
- <script>
- $(function(){
- var up=$("input").eq(0);
- var down=$("input").eq(1);
- var inner=$("#inner");
- var h=$("#inner").find("p").height();
- var num=parseInt($("#parent").css("height"))-parseInt(inner.css("height"));
- if(parseInt(inner.css("marginTop"))==0){
- down.attr("disabled","disabled").css("color","yellow");
- }
- up.click(function(){
- if(parseInt(inner.css("marginTop"))<=num){
- up.attr("disabled","disabled").css("color","yellow");
- }else{
- down.removeAttr("disabled").css("color","#FFF");
- inner.animate({"marginTop":"-="+h});
- if(parseInt(inner.css("marginTop"))==num){
- up.attr("disabled","disabled").css("color","yellow");
- }
- }
- });
- down.click(function(){
- if(parseInt(inner.css("marginTop"))>=0){
- down.attr("disabled","disabled").css("color","yellow");
- }else{
- up.removeAttr("disabled").css("color","#FFF");
- inner.animate({"marginTop":"+="+h});
- if(parseInt(inner.css("marginTop"))==0){
- down.attr("disabled","disabled").css("color","yellow");
- }
- }
- });
- });
- </script>