jquery 动画和元素属性操作 基础知识


$(selector).hide(speed,callback);

$(selector).show(speed,callback);

可选的参数 speed 给出显示或隐藏内容的速度,可以使用“slow”,”fast”或者数字代表微秒。

第二个可选参 数为回调函数,在显示或隐藏结束时调用。下面代码在1秒钟内隐藏内容:

$("button").click(function(){    
  $("p").hide(1000);    
});

 

缺省情况下,所有HTML元素的位置的固定的,不能移动,因此如果需要修改 HTML元素的位置,需要事先将它们的CSS属性的位置设置为relative, fixed, 或absolute。

使 用animate 修改多个属性

下面的例子,可以使用animate同时修改多个属性:

$("button").click(function(){    
  $("center").animate({    
    left:'250px',    
    opacity:'0.5',    
    height:'150px',    
    width:'150px'
  });    
});


基本所有的CSS属性都可以在animation中使用,颜色修改不在jQuery核心库中,需 要Color Animiation插件来完成。

使用属性相对值

对于CSS属性,除了上面使用的绝对大小 ,也可以使用相对值来定义,使用 “+”“-”。

$("button").click(function(){    
  $("center").animate({    
    left:'250px',    
    height:'+=150px',    
    width:'+=150px'
  });    
});


jQuery的使用stop()方法在动画结束之前停止动画。

基本语法如下:

$(selector).stop (stopAll,goToEnd);

可选参数stopAll 指明是否同时清除“动画队列”,缺省为false.意味着 只停止当前活动的动画,之后的动画则继续运行。

可选参数goToEnd 指明是否立即结束当前动 画,缺省为false.

因此缺省的stop()动作为终止指定HTML元素的当前动画效果。如:

$("#stop").click(function(){    
  $("#panel").stop();    
});


JavaScript语句是一行一行执行的,然而对于前面的动画效果语句,后面的语句可以在动画效果完成前就执行,因此可能会造成错误的结果。
所以之前的hide,show,fadeIn,fadeOut,slideIn,slideOut,animation都支持一个callback可选参数,支持为这些方法添加一个回调函数,在动画完成之后调用。

比如,下面的例子中<p>隐藏之后执行:
 
$("button").click(function(){ 
  $("p").hide("slow",function(){ 
    alert("The paragraph is now hidden"); 
  }); 
}); 
 

 
而下面的例子的Alert 在
 
隐藏完成之前就显示。
 
 
$("button").click(function(){ 
  $("p").hide(1000); 
  alert("The paragraph is now hidden"); 
}); 


jQuery支持将多个方法链接在一起,比如介绍的多个animation(),这个链接也可以应用到其它方法,构成一个方法链。
使用这个方法,对于同一个元素,链接多个方法,浏览器无需多次查找HTML元素。
 
下面的方法,可以把css,slideUp,slideDown串接在一起:
 
  
$("#p1") 
    .css("color","red") 
    .slideUp(2000) 
    .slideDown(2000);


其中三个简单而 有用的方法如下:

text() – 设置或取得指定元素的文本内容。

html() – 设置或取得指定 元素的内容(包括HTML标记)

val() – 设置或取得表单某个输入域的值。

例如,下面代码 使用html()和text()方法取得HTML元素的内容:

$("#btn1").click(function(){    
  alert("Text: " + $("#test").text());    
});    
$("#btn2").click(function(){    
  alert("HTML: " + $("#test").html());    
});下面的代码取得Form中Input 的内容:

$("#btn1").click(function(){    
  alert("Value: " + $("#test").val());    
});
除了上面的方法外,attr()方法用来取得某个元素的属性。

jQuery其实使用上面同样的三个方法来赋值。

text() – 设置或取得指 定元素的文本内容。

html() – 设置或取得指定元素的内容(包括HTML标记)

val() – 设置或 取得表单某个输入域的值。

比如下面代码就是使用上面三种方法给HTML元素或Form赋值

$("#btn1").click(function(){    
   $("#test1").text("Hello world!");    
 });    
 $("#btn2").click(function(){    
   $("#test2").html("<b>Hello world!</b>");    
 });    
 $("#btn3").click(function(){    
   $("#test3").val("Dolly Duck");    
 });

posted on 2013-09-03 23:23  xiaofei01gm  阅读(222)  评论(0编辑  收藏  举报