新手教程:10个jQuery特效讲解

2010-07-17 11:06:53   作者:不详   来源:互联网

jQuery已经不是什么新鲜的事儿,记得第一次听说是在catch the digital flow上。总把它认为是非常难的东西,也就没有认真去了解他了。直到学完CSS的大部分内容,才开始接触这种"write less, do more" 的Javascrīpt框架。今天,这篇文章的最重要内容是来自Web Designer Wall的一篇教程,一篇包含了10个jQuery特效的教程。这里不打算全文翻译,想以自己的语言来表达,或许这样更方便 大家理解/自己以后学习,也可能更准确地描述。

提示:教程中所用的jQuery 版本为1.2.3。这篇文章是为jQuery新手而写的。

先试试看? View jQuery DemosDownload Demo ZIP

jQuery是如何工作的?

首先,你需要下载一个jQuery版本,并将它 插入到<head>标签内。然后,你将需要写函数来告 诉jQuery做些什么,下面的这个图表将告诉你jQuery是怎样工作的(点击图片,查看大图):

jquery-how-it-works

如何获取元素(Get the element)?

书写 jQuery 函数是一个非常简单的事(多亏了精彩的说明书)。关键是你要学习如何 获取你想要实现的效果的确切元素。

  • $("#header") = 获取 id="header" 的元素
  • $("h3") = 获取所有<h3>
  • $("div#content .photo") = 获取<div id="content">里所有用class="photo"定义的元素
  • $("ul li") = 获取所以 <ul> 中 <li> 的元素
  • $("ul li:first") = 只获取<ul>中第一个<li>

1. 简单的下拉面板

让我们来开始这个简单的下拉面板特效吧(view demo),或 许你已经见过很多次,现在,自己试试吧:

sample1

当包含class="btn-slide"的元素被点击,它会下拉/上提<div id="panel">里的元素。然后切换到CSS中的class="active"到<a class="btn-slide">元素。.active 将会以CSS的方式打开/关闭出面板。

$(document).ready(function(){
$(".btn-slide").click(function(){   $("#panel").slideToggle("slow");   $(this).toggleClass("active"); });
});

2. 简单的隐藏效果

如图,当右上角的上图标被点击时,内容被隐藏。效果可以看Demo (view demo)

sample2

当被定义为 <img class="delete"> 的图片被点击,它会手找到父级元素 <div class="pane"> 并激活它的能力,慢慢消失,隐藏起来。

$(document).ready(function(){
$(".pane .delete").click(function(){   $(this).parents(".pane").animate({ opacity: "hide" }, "slow"); });
});

3 连续过渡效果

让我们来看看jQuery连贯性的威力吧。只需要几行代码,我能让这个方块渐变+缩放比例地飞来飞去(view demo)

multi-animation

Line 1: 当 <a class="run"> 被点击
Line 2: 激活 <div id="box"> 的不透明度(opacity)=0.1,直到值达到400px,速度达到1200px/ms
Line 3: 当opacity=0.4, top=160px,height=20,width=20,以"slow"显示
Line 4: 当opacity=1, left=0, height=100, width=100,也以"slow"显示
Line 5: 当opacity=1, left=0, height=100, width=100, 也以"slow"显示
Line 6: 当top=0, 以"fast"显示
Line 7: 然后,以常速上滑 (default speed = "normal")
Line 8: 然后以"slow"下滑
Line 9:返回失效会阻止浏览器跳向链接锚点

$(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)

sample3

第一行将向<div class="accordion"> 内的第一个<H3> 添加一个CSS class为"active"的值。 第二行刚是隐藏<div class="accordion">内非第一个< p >的内容。

当 <h3> 被点击时,当前<p>下拉,而原先下拉的<p> 上提。

$(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

这个实例与#1非常类似,不过,它会让指定的面板像默认面板一样打开(view demo)

在CSS样式表中,设置.accordion pdisplay:none。现在,如果你像默认打开的样式一样,打开第三个面板,你可以写$(".accordion2 p").eq(2).show(); (eq = equal)来实现它,需要注意的是起始点是"0",而不是"1",所以,第三个相应的是"2",而不是"3"。

$(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"); });
});

5a. 鼠标经过激活效果 #1

这个将会实现一个非常漂亮的,当鼠标经过时出现渐变出现的效果 (view demo)

\

当鼠标经过菜单时,它会寻找紧接着的<em>,并在上方激活它的不透明度。

$(document).ready(function(){
$(".menu a").hover(function() {   $(this).next("em").animate({opacity: "show", top: "-75"}, "slow"); }, function() {   $(this).next("em").animate({opacity: "hide", top: "-85"}, "fast"); });
}); 

5b. 鼠标经过激活 #2

这个实例会显示菜单中链接的title 属性attribute,让其以变数方式存在,并添加<em>标签 (view demo)

sample4b

第一行会添加一个空的<em>到菜单的<a>元素。

当鼠标经过菜单链接时,它会显示title的属性,让它以"hoverText(隐藏)"的形式显示,并使<em>中的文字显示隐藏文本的值。

$(document).ready(function(){
$(".menu2 a").append("<em></em>");
$(".menu2 a").hover(function() {   $(this).find("em").animate({opacity: "show", top: "-75"}, "slow");   var hoverText = $(this).attr("title");   $(this).find("em").text(hoverText); }, function() {   $(this).find("em").animate({opacity: "hide", top: "-85"}, "fast"); });
});

 


栏目搜索>>分类导航
Flash幻灯 jQuery幻灯 JS幻灯 Flash相册 jQuery相册 图片特效 导航菜单 广告代码 在线客服 表单按钮 其它特效

HTML CSS JavaScript Dreamweaver Fireworks 设计分享

建站教程 网站运营 实用工具 网页模板 网页素材

CSS酷站 网上购物 设计团队 设计博客
教程排行榜
20款华丽酷炫的jQuery图片相册插件
新手教程:10个jQuery特效讲解
分享10款精美的焦点幻灯和图片特效jQuery插件
如何处理JS的'null'为空或不是对象
多款提高网页表格(table)操作易用性的jQuery插件
20款超酷的基于jQuery的幻灯和表单插件(附...
打造完美的jQuery网页进度条(LOADING)
如何把在线地图Google Maps API整合到网站中去?
jQuery 1.4.1 中文帮助文档速查表(附CHM文件下载)
最新的jQuery 1.4官方文档中文翻译版
零起步学习如何写jQuery框架
jQuery的鼠标事件实例教程
基于JQuery的上传插件Uploadify使用方法详解
多个增强Web设计界面的Javascript脚本代码
九款常用的JS代码高亮工具
lazyload:基于jQuery框架实现图片异步加载
下载排行榜
基于jQuery的超炫酷的3D切换JS幻灯焦点图特效代码
半透明立体质感的宽屏flash+xml焦点幻灯代码
简洁效果多图切换flash幻灯焦点图代码
带标题和数字导航的JS焦点幻灯特效代码
适合摄影网站超漂亮的宽屏flash+xml幻灯轮换代码
31款简单实用的CSS+JS下拉菜单脚本
3D立体效果金字塔环形旋转的flash+xml相册代码
基于jQuery实现的瀑布流布局列表特效代码
透明质感上下滑动带小图预览5屏JS焦点图幻...
超酷的3D摩天轮flash+xml相册幻灯图片代码
能沿多个方向滑动切换的jquery幻灯代码
自带多种幻灯效果支持缩略图导航的jquery画...
可改图片尺寸和张数的flash幻灯轮换代码
很好看的带缓冲效果CSS下拉菜单导航代码
基于jquery很有趣的360度全景图片预览特效
6屏幻灯上下滑动式带缩略图和文字介绍的fla...