该篇文章通过10个最常用的jQuery效果向设计师和初学者讲述了如何使用jQuery创建Javascript特效。
jQuery如何运行?
首先你需要下载jQuery库并将其插入到你的html页面中(最好是放在<head>
标签内)。然后你需要调用脚本运行函数。下面的图例像你详细解释了jQuery是如何运行的。
如何获取元素?
编写jQuery函数相对来说比较简单。你需要掌握的关键点就是如何准确的使用你所需效果的元素。
- $("#header") = 获取id为"header"的元素
- $("h3") = 获取所有标签为<h3>的元素
- $("div#content .photo") = 获取所有<div id="content">内类为"photo"的元素
- $("ul li") = 获取所有<ul>内的<li>元素
- $("ul li:first") = 获取<ul>内的第一个<li>元素
1.简单的滑动版
让我们从最简单的滑动版开始。你可能已经见过很多类似的效果了,当你点击一个链接的时候,一个滑动版便向上(下)展开 (view demo)
当类名为"btn-slide"的元素被点击的时候,它将向上(或下)切换(slideToggle) <div id="panel">元素,然后切换一个CSS类"active"到<a class="btn-slide">元素。通过使用css样式,类名为.active的元素将会切换箭头图片的背景位置。
$(document).ready(function(){
$(".btn-slide").click(function(){
$("#panel").slideToggle("slow");
$(this).toggleClass("active");
});
});
2.简单的消失效果
该示例向你讲述如何设计点击图片按钮后该区域内容消失的效果 (view demo)
当图片元素<img class="delete"> 被点击的时候,它会查找其父元素 <div class="pane">,并且缓慢的隐藏其透明度。
$(document).ready(function(){
$(".pane .delete").click(function(){
$(this).parents(".pane").animate({ opacity: "hide" }, "slow");
});
});
3Chain-able过渡效果
现在让我们来看看jQuery强大的Chain-able效果。仅需几行代码就可以设计出一个按比例变化大小并且渐变消失的飞行的盒子。(view demo)
第1行和第2行: 创建<a class="run">元素被点击时的函数
第3行: 赋予<div id="box">元素的.animate函数不透明度值为0.1, 左边可到达的距离为400px, 速度为1200毫秒
第4行: 赋予.animate函数不透明度值为0.4,顶部距离160px, 高20, 宽20, 速度为"slow"
第5行: 接下来赋予.animate函数不透明度值为1, 左边距离为0, 高100, 宽100, 速度为"slow"
第6行: 设置.animate函数的top值为0,速度为"fast"
第7行: 调用slideUp函数 (默认速度值为"normal")
第8行: 调用slideDown, 速度值为"slow"
$(document).ready(function(){
$(".run").click(function(){
$("#box").animate({opacity: "0.1", left: "+=400"}, 1200)
.animate({opacity: "0.4", top: "+=160", height: "20", width: "20"}, "slow")
.animate({opacity: "1", left: "0", height: "100", width: "100"}, "slow")
.animate({top: "0"}, "fast")
.slideUp()
.slideDown("slow")
return false;
});
});
4a.折叠效果1
下面是一个折叠效果 (view demo)
第1行:为<div class="accordion">内的第一个<H3>元素添加名为"active"的类,并应用css样式("active"类将转换箭头图标的背景位置)。
第2行:隐藏<div class="accordion">内的非第一行的所有<p>元素。
当<h3>元素被点击的时候,它将滑动并切换(slideToggle)下一个<p>元素并且向上滑动(slideUp)它的子元素,然后切换类名为"active"的元素。
$(document).ready(function(){
$(".accordion h3:first").addClass("active");
$(".accordion p:not(:first)").hide();
$(".accordion h3").click(function(){
$(this).next("p").slideToggle("slow")
.siblings("p:visible").slideUp("slow");
$(this).toggleClass("active");
$(this).siblings("h3").removeClass("active");
});
});
4b.折叠效果2
该示例和上面的很类似,不过可以让你自定义默认展开的面板。 (view demo)
In the CSS stylesheet,将.accordion p
设置为display:none
. 现在,假设你要将第三个面板设置为默认打开的面板。你可以这样写$(".accordion2 p").eq(2).show();
(eq = equal)。注意起始值为0。
$(document).ready(function(){
$(".accordion2 h3").eq(2).addClass("active");
$(".accordion2 p").eq(2).show();
$(".accordion2 h3").click(function(){
$(this).next("p").slideToggle("slow")
.siblings("p:visible").slideUp("slow");
$(this).toggleClass("active");
$(this).siblings("h3").removeClass("active");
});
});