`
jian0487
  • 浏览: 97097 次
  • 性别: Icon_minigender_1
  • 来自: 宁德
社区版块
存档分类
最新评论

jQuery上手指南

阅读更多

有人说AJAX很难,但自从jQuery出现后,再难我们都可以轻松驾驭了。jQuery作为当前流行的JavaScript框架将使 Ajax 变得及其简单。这篇文章就是为各位网站设计师和其他新手讲述的怎样更好地使用jQuery库实现Javascript效果的。

jQuery是这样一个Javascript库,它可以帮助编程人员实现”write less, do more”少写多做的功能。在这个Javascript库中,有很多的Ajax和Javascript特性,来帮助我们提高改善用户体验和语义化Web设计。使用这些常用的jQuery效果,你就不用再为这些繁琐的代码发愁了。

文中用到的jQuery版本为jQuery 1.2.3版。

jQuery是怎样工作的?

首先,你必须下载一个jQuery备份(核心只有一个文件jquery-x.x.x.x.js,其中x.x.x.x表示了文件的版本),并拷贝到对应web项目的javascript脚本目录中;然后在<head></head>HTML标签中插入函数,告诉jQuery你想干什么就好了。下面这个图表就是告诉我们jQuery如何工作的。

jQuery是怎样工作的?

图1 jQuery工作原理

如何获取jQuery参数?

参考jQuery完善的说明文档,可以非常轻松地编写jQuery方法,唯一需要费些力气的就是,尽力学习掌握如何精确地调用jQuery参数了。例如:

  • $("#header") //获取id="header"的参数
  • $("h3") //获取所有的h3
  • $("div#content .photo") //获取所有嵌套在<div id="content">中的class="photo">
  • $("ul li") //获取所有嵌套在ul中的li标签
  • $("ul li:first") //只获取ul中的第一个li标签

jQuery的常见十大应用

1,简单的隐现滑动面板

先从一个简单的隐现滑动面板开始学习吧!可能你已经看到过很多的类似效果,点击一个链接时,层面板会上下滑动(点击观看效果)。

图2 上下滑动效果

工作原理:当class类标签btn-slide被鼠标点击时,就会滑动这个id=”panel” 的div标签,并把CSS中的active类应用到<a class=”btn-slide”>标签。这个.active类就牵引带有箭头图片的背景层上下滑动了。

代码如下:

$(document).ready(function(){	$(".btn-slide").click(function(){

   $("#panel").slideToggle("slow");

   $(this).toggleClass("active");

 });

});

2,简单的按钮关闭效果

当点击按钮图标时,关闭对应内容(点击观看效果)。

图3 按钮关闭效果

工作原理:当点击<img class=”delete”>时,它会找到自己所属的上级标签<div class=”pane”>,并激活其不透明性为慢慢地隐藏消失。

代码如下:

$(document).ready(function(){	$(".pane .delete").click(function(){

   $(this).parents(".pane").animate({ opacity: "hide" }, "slow");

 });

});

3,联动变换效果

现在我们来看看jQuery强大的联动效果吧。只用简单的几行代码,就能实现飞来飞去渐隐渐现的复杂效果了(点击观看效果)。

图4 联动变换效果

工作原理:

line1:点击<a class=”run”>

line2:激活<div id=”box”>的不透明属性opacity=0.1,以1200ms的速度,left属性移动 400px

line3:接着以slow的速度,opacity=0.4, top=160px, height=20, width=20

line4:接着以slow的速度,opacity=1, left=0, height=100, width=100

line5:接着以slow的速度,opacity=1, left=0, height=100, width=100

line6:接着以fast的速度,top=0

line7:接着以默认normal速度,slideUp

line8:接着以slow的速度,slideDown

line9:最后返回false来阻止浏览器跳转到link链接锚点

代码如下:

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

这是一个简单的折叠样式(点击观看效果)。

图5 折叠样式1

工作原理:在第一行,为属性为<div class=”accordion”>的第一个<h3>标签添加”active”类方法(用来切换箭头图标的背景位置);在第二行,隐藏第一个除外的所有<div class=”accordion”>中的<p>标签。

点击<h3>标签时,牵引下一个<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

这个效果跟4a中的效果基本一致,唯一不同的是指定了初始默认打开的层(点击观看效果)。

工作原理:在CSS样式表中设置.accordion pdisplay: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");

 });

});

5a,漂亮的鼠标hover悬停效果1

本例实现的是一个精美的鼠标悬停时的渐隐渐现效果(点击观看效果)。

图6 漂亮的鼠标hover悬停效果1

工作原理:鼠标悬停在链接菜单上时,找到下面的<em>并激活其opacity不透明属性和top位置。

代码如下:

$(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,漂亮的鼠标hover悬停效果2

这个例子是获取链接菜单的title属性,保存在一个变量里面,然后附加给<em>标签(点击观看效果)。

图7 漂亮的鼠标hover悬停效果2

工作原理:在第一行将一个空的<em>赋值给链接菜单的<a>元素。鼠标悬停在链接菜单上时,就会获取title的属性,保存给一个”hoverText”变量,然后把”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");

 });

});

6,块级鼠标样式

本例展示的是一个块级鼠标样式,就像Best Web Gallery这个网站的侧边栏效果似的(点击观看效果)。

图8 块级鼠标样式

工作原理:假设你有一个class属性为”pane-list”的<ul>列表,你希望嵌套在其内部的<li>可以实现块状点击样式,你就可以把这个点击方法赋值给”.pane-list li”。在点击时,这个方法就会找到<a>元素,并重定向浏览器位置到它的href属性值。

代码如下:

$(document).ready(function(){	$(".pane-list li").click(function(){

   window.location=$(this).find("a").attr("href"); return false;

 });

});

7,折叠面板

现在,让我们结合上面例子的技巧方法,创建一个折叠面板效果吧(跟Gmail收件箱效果差不多)(点击观看效果)。

图9 折叠面板样式

工作原理:

第一行:隐藏除第一个以外的所有<div class=”message_body”>

第二行:隐藏第五个后面的所有<li>标签

第三行:当点击<p class=”message_head”>时,牵引滑动下一个<div class=”message_body”>

第四行:当点击<a class=”collpase_all_message”>按钮时,向上滑动所有的<div class=”message_body”>

第五行:当点击<a class=”show_all_message”>时,隐藏本身,显示<a class=”show_recent_only”>,并向下滑动第五个以后的所有<li>

最后一行:当点击<a class=”show_recent_only”>时,隐藏本身,显示class=”show_all_message”>,并向上滑动第五个以后的所有<li>

代码如下:

$(document).ready(function(){	//hide message_body after the first one

 $(".message_list .message_body:gt(0)").hide();

//hide message li after the 5th

 $(".message_list li:gt(4)").hide();

//toggle message_body

 $(".message_head").click(function(){

   $(this).next(".message_body").slideToggle(500)

   return false;

 });

//collapse all messages

 $(".collpase_all_message").click(function(){

   $(".message_body").slideUp(500)

   return false;

 });

//show all messages

 $(".show_all_message").click(function(){

   $(this).hide()

   $(".show_recent_only").show()

   $(".message_list li:gt(4)").slideDown()

   return false;

 });

//show recent messages only

 $(".show_recent_only").click(function(){

   $(this).hide()

   $(".show_all_message").show()

   $(".message_list li:gt(4)").slideUp()

   return false;

 });

});

8,模仿WordPress后台评论管理

可能我们绝大多数人都看到过WordPress Aiax后台评论管理效果。在这个例子中,我们就用jQuery模仿出这个效果,不过首先你要用到一个Color Animations插件)(点击观看效果)。

图10 WordPress后台评论管理样式

工作原理:

第一行:添加”alt”类给<div class=”pane”>(给每个<div>赋值灰色背景)

第二行:在点击<a class=”btn-delete”>时,弹出警告框信息后,激活<div class=”pane”>层的背景色和不透明度

第三行:点击<a class=”btn-unapprove”>时,使<div class=”pane”>层的背景色变黄再变白,并增加”spam”类样式

第四行:点击<a class=”btn-approve”>时,使<div class=”pane”>层的背景色变绿再变白,并移除”spam”类样式

最后一行:点击<a class=”btn-spam”>时,背景色变红,并设置不透明度为”hide”

代码如下:

//don't forget to include the Color Animations plugin

//<script type="text/javascript" src="jquery.color.js"></script>$(document).ready(function(){

$(".pane:even").addClass("alt");

$(".pane .btn-delete").click(function(){

   alert("This comment will be deleted!");

$(this).parents(".pane").animate({ backgroundColor: "#fbc7c7" }, "fast")

   .animate({ opacity: "hide" }, "slow")

   return false;

 });

$(".pane .btn-unapprove").click(function(){

   $(this).parents(".pane").animate({ backgroundColor: "#fff568" }, "fast")

   .animate({ backgroundColor: "#ffffff" }, "slow")

   .addClass("spam")

   return false;

 });

$(".pane .btn-approve").click(function(){

   $(this).parents(".pane").animate({ backgroundColor: "#dafda5" }, "fast")

   .animate({ backgroundColor: "#ffffff" }, "slow")

   .removeClass("spam")

   return false;

 });

$(".pane .btn-spam").click(function(){

   $(this).parents(".pane").animate({ backgroundColor: "#fbc7c7" }, "fast")

   .animate({ opacity: "hide" }, "slow")

   return false;

 });

});

9,图片展示切换

如果你不想通过页面跳转的方式来展示多幅图片的话,那么这个例子的方法绝对是可行的。你可以把JPG图片加载到一个target中去(点击观看效果)。

图11 图片展示切换样式

工作原理:首先为H2添加一个空的<em>。当一个<p class=thumbs>内的链接被触发时,把href属性赋给一个”largePath”变量;把title属性赋给一个”largeAlt”变量;用变量”largePath”替换<img id=”largeImg”>的scr属性;用变量”largeAlt”替换alt属性;最后,用变量的largeAlt(附加在brackets中)设置H2内em内容。

代码如下:

$(document).ready(function(){	$("h2").append('<em></em>')

$(".thumbs a").click(function(){

var largePath = $(this).attr("href");

   var largeAlt = $(this).attr("title");

$("#largeImg").attr({ src: largePath, alt: largeAlt });

$("h2 em").html(" (" + largeAlt + ")"); return false;

 });

});

10,样式化不同链接类型

对于大多数流行的浏览器来说,定义不同类型的链接样式是非常容易的。例如,定义一个.pdf格式文件的链接样式,我们可以使用这样的CSS规则实现:a[href $='.pdf'] { … }.但不幸的是,IE6并不支持这种定义(这也是我们为什么讨厌IE浏览器的一个原因)。为了实现浏览器间的兼容性,我们可以用jQuery实现(点击观看效果)。

图12 图片展示切换样式

工作原理:前三个链接样式要各自定义实现,根据他们的href属性分别调用CSS样式给各自的<a>;其他的部分,使得所有没有”http://www.webdesignerwall.com和/或在href属性中不是以”#”开头的<a>标签,然后添加”external”样式,并设置打开target为”_blank”。

代码如下:

$(document).ready(function(){	$("a[@href$=pdf]").addClass("pdf");

$("a[@href$=zip]").addClass("zip");

$("a[@href$=psd]").addClass("psd");

$("a:not([@href*=http://www.webdesignerwall.com])").not("[href^=#]")

   .addClass("external")

   .attr({ target: "_blank" });

});

分享到:
评论

相关推荐

    JQuery zTree开发指南

    **JQuery zTree 开发指南** JQuery zTree是一款基于jQuery的树形插件,它在Web开发中广泛用于构建动态、交互式的树状结构。zTree不仅支持基本的树形展示,还提供了丰富的功能,如节点操作、异步加载、多选模式、...

    jQuery中文入门指南

    **jQuery中文入门指南** jQuery是一款广泛应用于Web开发的JavaScript库,它简化了JavaScript的DOM操作、事件处理、动画设计和Ajax交互。...结合提供的文档和学习资源,相信你可以快速上手并精通jQuery。

    jquery完美入门指南

    本指南旨在帮助初学者在短时间内掌握jQuery的基本概念和核心功能,实现快速上手。 一、开天辟地入门篇 在《从零开始学习jQuery (一) 开天辟地入门篇》中,我们将了解jQuery的核心思想和基本用法。首先,我们需要...

    jQuery入门指南

    本文旨在为初学者提供一份详尽的jQuery入门指南,帮助大家快速上手,掌握利用jQuery进行网页动态化的基本技巧。 #### 一、jQuery简介 jQuery是一个轻量级的、跨平台的JavaScript库,由John Resig于2006年创建。它的...

    jQuery中文入门指南+中文api

    通过阅读指南和查阅API,开发者可以快速上手并深入理解jQuery的工作原理。配合实际项目练习,将理论知识转化为实际技能,是成为一名熟练的jQuery开发者的关键。同时,随着技术的发展,不断更新知识,掌握最新的...

    Jquery权威指南

    本指南将深入讲解jQuery的核心概念、方法和最佳实践,旨在帮助初学者快速上手,并为有经验的开发者提供深入理解的途径。 **一、jQuery基础** 1. **引入jQuery**: 首先,我们需要在HTML文件中通过`&lt;script&gt;`标签...

    JQuery UI 自学指南

    ### JQuery UI 自学指南 #### 一、JQuery UI简介 JQuery UI 是一个基于 JQuery 的用户界面库,它提供了一系列可复用的交互式组件,使得 Web 开发人员能够轻松地创建美观且功能丰富的用户界面。JQuery UI 的目标是...

    jq官方手册权威指南版本

    【标题】"jq官方手册权威指南版本"指出的是jQuery(通常简称为jq)的官方手册,这是一份详细且权威的参考资料,旨在帮助开发者全面理解并掌握jQuery库的使用。jQuery是一个广泛应用于Web开发的JavaScript库,它简化...

    jquery中文入门指南最新版

    ### jQuery中文入门指南知识点梳理 #### 一、简介与安装 - **jQuery**: 是一种流行的JavaScript库,简化了HTML文档的遍历、事件处理、动画等操作,支持链式调用,易于上手且功能强大。 - **目标读者**: 需要了解...

    Jquery各种教程打包

    5. **《jQuery七天入门指南.pdf》**:这份快速入门指南可能在一周内提供了一个紧凑的学习计划,涵盖jQuery的基础知识和关键功能,如选择器、DOM操作、事件处理、动画、Ajax等,旨在使初学者能在短时间内具备使用...

    jquery-ui-1.8.16.custom.min.js/jquery-ui-1.8.16.custom.css

    配合《jQuery UI开发指南》这本书,读者可以深入学习如何有效地使用这些组件。书中通常会涵盖以下主题: 1. **基础介绍**:讲解jQuery UI的基本概念,包括如何引入库文件,以及如何初始化UI组件。 2. **组件详解**...

    《jQuery+EasyUI开发指南》书籍

    《jQuery+EasyUI开发指南》是一本面向开发者的技术书籍,主要涵盖了使用jQuery和EasyUI进行Web前端开发的各种技术和实践。jQuery是一个广泛使用的JavaScript库,它极大地简化了DOM操作、事件处理、动画效果以及Ajax...

    jquery easyui datagrid demo

    `jquery-easyui-document.chm` 是 jQuery EasyUI 的官方帮助文档,通常包含了完整的 API 参考、示例代码和使用指南。这个 CHM 文件可以帮助我们深入理解整个框架,不仅仅是 Datagrid,还包括其他如对话框(dialog)...

    jquery中文api

    - `jQuery中文入门教程_译自Getting Started with jQuery.htm` 提供了jQuery的基本用法和示例,涵盖了选择器、DOM操作、事件处理、效果和Ajax等方面,适合初学者快速上手。 3. **jQuery七天入门指南** - `jQuery...

    jquery-starterkit JQUERY例子

    《jQuery StarterKit:初学者的JQUERY实践指南》 jQuery是一个强大的JavaScript库,极大地简化了JavaScript的使用,尤其是处理网页的DOM操作、事件处理、动画效果以及Ajax交互。"jquery-starterkit"是一个专为初学...

Global site tag (gtag.js) - Google Analytics