代码改变世界

Jquery入门学习第三篇

2011-06-28 15:29  卫佳  阅读(210)  评论(0编辑  收藏  举报

1. 使用基本动画函数

基本的动画函数主要分为show, hide和toggle三个. 都提供了无参数的版本, 表示不适用动画切换元素的显示状态:

$("#divPop").show();  

$("#divPop").hide();  

$("#divPop").toggle(); 

都提供了两个参数的重载, 因为回调函数可以省略, 所以可以像开篇实例中使用的, 传入一个数值作为唯一参数, 则会在参数规定的时间内用动画效果显示/隐藏元素:

$("#divPop").show(200);  

$("#divPop").hide("fast");  

$("#divPop").toggle("slow"); 

如果传递了200, 表示图层会在200毫秒内通过渐变的形式显示出来. speed参数可以使用三种预定速度之一的字符串("slow", "normal", or "fast")或表示动画时长的毫秒数值(如:1000).

三个函数都可以传入回调函数callback,签名如下:

function callback() {  

  this; // dom elementBest price sunglasses  

在回调函数中的this是执行此函数的DOM对象. 会在动画结束时执行.

2. 使用toggle函数

toggle函数是功能更强大的函数, 可以切换元素的可见状态. 我们经常遇到需要使用toggle的情况. 比如希望一段文字第一次单击显示弹出层, 第二次单击隐藏弹出层.

我们将开篇实例稍作修改即可实现这个效果:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  

<html xmlns="http://www.w3.org/1999/xhtml">  

<head>  

    <title>jQuery Animation - Toggle </title>  

    <script type="text/javascript" src="../scripts/jquery-1.3.2-vsdoc2.js"></script>  

    <script type="text/javascript">  

        $(document).ready(function()  

        {  

            //动画速度  

            var speed = 500;  

            //绑定事件处理  

            $("#btnShow").click(function(event)  

            {  

                //取消事件冒泡  

                event.stopPropagation();  

                //设置弹出层位置Sunglasses Wholesale 

                var offset = $(event.target).offset();  

                $("#divPop").css({ top: offset.top + $(event.target).height() + "px", left: offset.left });  

                //切换弹出层的显示状态  

                $("#divPop").toggle(speed);  

            });  

        });  

    </script>  

</head>  

<body>  

    <div>  

        <br /><br /><br />  

        <button id="btnShow">提示文字</button>  

    </div>  

    <!-- 弹出层 -->  

    <div id="divPop" style="background-color: #f0f0f0; border: solid 1px #000000; position: absolute; display:none;  

        width: 300px; height: 100px;">  

        <div style="text-align: center;">弹出层</div>  

    </div>  

</body>  

</html> 

toggle()函数可以传递一个boolean值的参数, 比如: toogle(true)等同于show(), toogle(fasle)等同于hide().