1. 程式人生 > >jquery繫結事件與動畫

jquery繫結事件與動畫

繫結多個事件型別,示例程式碼如下:

$(function(){

$("div").bind("mouseover mouseout",function(){

$(this).toggleclass("over");

});

});

上面程式碼與下面的程式碼效果一樣;

$(function(){

$("div").bind("mouseover",function(){

$(this).toggleclass("over")

});

$("div").bind("mouseout",function(){

$(this).toggleclass("over")

});

});

jquery中的動畫:

1:show()  hide()

hide()就相當於把元素的display樣式改為“none”程式碼表示如下:

$("element").hide();  ==  $("element").css("display","none");

2:fideIn()  fideOut()

與hide() show() 方法相類似,fideIn方法是(淡入)內容慢慢的顯示,fideOut方法是(淡出)內容慢慢的消失,

$("div").toggle(function(){

$(this).next().fideIn();

},function(){

$(this).next().fideOut();  //以上方法都可以新增引數  如show(1000);表示內容在1000毫秒內顯示。同時都可以用三中                                                              引數“slow”“normal”“fast”分別是0.6秒 0.4秒 0.2秒。

});

3:slidUp()  slidDown()

slidDown() 元素是自上而下延伸顯示;slidUp()是下而上逐漸隱藏。示例程式碼如下:

$("#panel").toggle(function(){

$(this).slidUp(100);

},function(){

$(this).slidDown(100);

})

除了上面的三種方法外jqury還可以自定義動畫方法:

animate(params,speed,callback);

params:一個包含樣式屬性及值的對映,比如{property1:"value1",property2:"value2"....}

speed:速度引數,可選。

callback:在動畫完成之後執行的函式,可選。//callback函式適用於任何jqeury方法中。

示例程式碼如下:

$(function(){

$("#panel").click(function(){

$(this).animate({left:"500px"},3000);

});

});

同時可以設定累加或累減。只需在500px前加+= 或者 -=;

同時也可以設定多重動畫,只需在{}中加入更多是元素即可,如{left:"+=500px",heigh:"-=300px"};

以上動畫都是同時進行的也可以按照一定順序執行動畫:如:

$(this).animate({left:"500px"},3000)

   .animate({heigh:"300px"},3000);

綜合動畫  程式碼示例:

$("#penal").css("opacity",0.5);

$("#penal").animate({left:"500px",top:"200px"},3000)

   .animate({height:"300px",width:"200px"},3000)

           .fadOut("slow");

動畫回撥函式:

判斷動畫是否積累:

為了避免動畫積累而導致的動畫與使用者的行為不一致,我們需要判斷元素是否處於動畫狀態,示例程式碼如下:

if(!$(element).is(":animate")){

//如果當前沒有進行動畫,則新增新動畫。

};

延遲動畫:

$(this).animate({left:"300px",height:"200px",opacity:"1"},3000)

.delay(1000)

.animate({width:"300px",top:"300px",opacity:"i"},2000)

.delay(2000)

.animate({width:"300px",top:"300px",opacity:"i"},2000);

其他動畫方法:

toggle(speed,[callback]).                                 該方法切換原元素的可見狀態,

slideToggle(speed,[easing],[callback])        該方法通過高度變化來切換匹配元素的可見性。

fadeTo(speed,opacity,[callback])                  該方法吧元素的不透明度一漸進的方式調整到制定的值。

fadeToggle(speed,[easing],[callback])         該方法通過更改元素的不透明度來切換匹配元素的可見性。

總結:動畫方法

hide() show(). fadeIn() fadeOut(), slideUp()  slideDown()  fadeTo()  fadeToggle() slideToggle()  aimate()

注意:aimate() 屬於自定義動畫的方法。可以使用他來代替其他所有的動畫方法。