fade
在jQuery中,fade方法有着让元素淡入淡出的效果,在jQuery中有着四种fade方法:
- fadeIn() :用于淡入已隐藏的元素。
- fadeOut():用于淡出可见元素。
- fadeToggle() :可以在 fadeIn() 与 fadeOut() 方法之间进行切换。
- fadeTo():允许渐变为给定的不透明度(值介于 0 与 1 之间)。
fadeIn()
jQuery中的fadein()方法能让隐藏的元素以一种慢慢显现的动画的方式展示出来。
语法:$(selector).fadeIn(speed,callback);
该方法共两个参数: speed 和 callback。
speed:这个参数是fadein()方法的必须参数,用以控制隐藏元素淡入的速度,在jQuery中给定了两个值:“slow”、“fast” 。相比较fast比slow的淡出速度更快一点。除了这两个值以外我们也可以自定义数值,自定义的数值通常以毫秒为单位。
<body>
<button>点击淡入 div 元素。</button>
<br><br>
<div id="div1" style="width:80px;height:80px;display:none;background-color:red;"></div><br>
<div id="div2" style="width:80px;height:80px;display:none;background-color:green;"></div><br>
<div id="div3" style="width:80px;height:80px;display:none;background-color:blue;"></div>
<script>
//使用前别忘了引入jQuery
$(document).ready(function(){
$("button").click(function(){
$("#div1").fadeIn(3000);
$("#div2").fadeIn("slow");
$("#div3").fadeIn("fast");
});
});
</script>
</body>
fadeOut()
与fadeIn()方法相反,fadeOut方法是让显示出来的元素淡出,即慢慢隐藏。
语法:$(selector).fadeOut(speed,callback);
该方法共两个参数: speed 和 callback。
这两个参数的使用方法和fadein()方法一样。
<script>
$(document).ready(function(){
$("button").click(function(){
$("#div1").fadeOut("fast");
$("#div2").fadeOut("slow");
$("#div3").fadeOut(3000);
});
});
</script>
fadeToggle()
fadeToggle()方法将fadeIn和fadeOut两种方法的效果结合起来:即当元素隐藏时,fadeToggle()方法将元素慢慢显示出,当元素显示,fadeToggle()方法又将元素慢慢隐藏。
语法:$(selector).fadeToggle(speed,callback);
参数与fadeOIn()和fadeOut()一样。
<script>
$(document).ready(function(){
$("button").click(function(){
$("#div1").fadeToggle("fast");
$("#div2").fadeToggle("slow");
$("#div3").fadeToggle(3000);
});
});
</script>
fadeTo()
fadeTo()方法比前面的方法多了一个参数:opacity。其效果是将元素渐变为给定的透明度。
语法:$(selector).fadeTo(speed,opacity,callback);
其中speed参数和callback参数与上面的方法一样,fadeTo()方法多了一个opaciry。opacity参数取值是从0~1,对应完全透明到不透明,该参数是必须的参数,不能省略。
$("button").click(function(){
$("#div1").fadeTo("slow",0.15);
$("#div2").fadeTo("slow",0.4);
$("#div3").fadeTo("slow",0.7);
});
callback
即回调函数,是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。
callback在jQuery中经常被用在一些效果上(例如:淡入淡出的效果),用来防止因为动画还没有完成导致动画之后的语句产生错误或页面冲突。为了避免这种情况,我们可以以参数的形式来添加callback函数。
$("div").hide(1000,function(){
alert("hello world");
});
``
以上代码为使用了callback函数的一段代码,callback在里面的作用是让该动画在100%完成后才会执行函数里面的代码。
# Chaining
在jQuery中,Chaining允许我们在一条jQuery语句中运行多个jQuery方法。链的方法可以使浏览器在运行jquery时,能够尽可能的减少重复查找元素的次数。当我们需要添加方法时,只需要将添加的方法追加到之前添加的方法后面。`
```javascript
function newpage(data) {
//根据数据渲染数据
$needData.hide().find('.showItem').remove();
var len = (data.length - curPage * 10) >= 10 ? 10 : (data.length - curPage * 10);
for (var i = 0; i < len; i++) {
var $Clone = $newBox.find(".tpl").clone().removeClass("tpl").addClass("showItem");
var ele = data[i + curPage * 10];
$Clone.children()
.eq(0) //找到索引为0的元素
.text(i + 1 + curPage * 10) //为其添加一个文本
.css("backgroundColor", curPage == 0 && colorsArray[i])//为期添加背景色
.next()//找下一个元素
.text(ele.title)//添加文本
.next()
.text(ele.search)
.addClass(ele.search > ele.hisSearch ? "up" : "down")//追加class名字
$needData.append($Clone);
}
$needData.fadeIn();
}
在该段代码中我们就使用了链接的技术。