jQuery入门学习之slideToggle()和bind()方法

昨天学的东西是很少的,被一些事情耽搁了,今天还是不错的,早上来了就进入状态了,虽然有点冷,还有点感冒。

滑动效果中的slideToggle(speed,[callback])
  speed:三种预定速度("slow","normal","fast")还有表示动画时长的毫秒数值(如:1000)
  [callback] 在动画完成时执行的函数
  例子:
  html: <p>这是测试用的dddddddddddddddddd<br />
       
            dddddddddddddddddddddddddddddd<br />
    
            ddddd</p>
  $(document).ready(function(){
      $("p").slideToggle("fast",function(){
      alert("Animation Done.");
       });
    });
   在浏览器看了下,是有效果的,这行字很快就滑动消失了。
   如果你给这个P标签加个样式,style=“display:none”,那么这个段落,就会慢慢的出现,而不是消失了。
  
   这样无缘无故的消失,感觉不太好,突然记起昨天看了一个bind()方法,是为元素绑定一个事件处理函数的,
   用它也可,动手修改了下这个方法,嗯哪,效果还可以。
        $(document).ready(function(){
        $("p").bind("click",function(){
           $(this).slideToggle("fast",function(){
            alert("Animation Done.");
            });
           });
         });
 样式加不加也可以,总之,主要是这个方法。
 bind方法详解:为每一个匹配元素的特定事件(像click)绑定一个事件处理器函数。
               这个事件处理函数会接收到一个事件对象,可以通过它来阻止(浏览器)默认的行为。如果
               既想取消默认的行为,又想阻止事件起泡,这个事件处理函数必须返回false。

用法一:可以把时间的处理函数定义为匿名函数
         $("p").bind("click",function(){
           $(this).slideToggle("fast",function(){
            alert("Animation Done.");
            });
           });
用法二:在不可能定义匿名函数的情况下,可以传递一个可选的数据对象作为第二个参数,那么事件处理函数就变成第三个参数了
       function handler(event) {
            alert(event.data.foo);
            }
   $("p").bind("click", {foo: "bar"}, handler)
其实这个bind的方法,可以取消浏览器的默认行为并防止事件起泡,因为对于这两个都不是很熟悉,所以暂时不写如何
解决这个两个问题,打算先去看浏览器的默认行为和事件起泡是怎么一回事去……

posted @ 2009-08-22 10:40  依然乐观  阅读(3495)  评论(0编辑  收藏  举报