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() 屬於自定義動畫的方法。可以使用他來代替其他所有的動畫方法。