从零开始学习jQuery (七) jQuery动画-让页面动起来!

一.摘要

本系列文章将带您进入jQuery的精彩世界,其中有很多作者具体的使用经验和解决方案,即使你会使用jQuery也能在阅读中发现些许秘籍.

开发人员一直痛疼做动画.但是有了jQuery你会瞬间成为别人(那些不知道jQuery的人)眼里的动画高手! 本文将介绍jQuery的动画相关函数.原来做动画如此简单!

二.前言

本系列文章的实例都是针对某一个技术细节的,因为我们要学习的是基础知识,虽然总有人希望要复杂一些的应用示例,但是我想还是让我们先把基础打牢,有了扎实的基础凭借每个人的智慧一定能创造出更多更好的应用.

就在写这篇文章的前几天,还有不止一个同事在为了"弹出层"效果而犯愁.但是以后再面对这样的功能看过本篇文章的每一个人都可以开心的微笑了.jQuery,make work easy !

三.从实例开始

做web程序经常要使用弹出层,比如单击文字或按钮显示一段提示文字等.假设有如下需求:


单击图中的"显示提示文字"按钮,在按钮的下方显示一个弹出层.

单击任何空白区域或者弹出层,弹出层消失.

用原始javascript我们也完全可以完成这个工作.有以下几点注意事项:

1.弹出层的位置需要动态计算.因为触发弹出事件的对象可能出现在页面的任何位置,比如截图中的位置.

2.为document绑定单击是关闭弹出层的函数,要使用多播委托,否则可能冲掉其他人在document绑定的函数.

3.为document绑定了关闭函数后,需要在显示函数中取消事件冒泡,否则弹出层将显示后立刻关闭.

用jQuery,我们可以轻松地实现此实例:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>jQuery - Start Animation</title>

<script type="text/javascript" src="../scripts/jquery-1.3.2-vsdoc2.js"></script>

<script type="text/javascript">
$(document).ready(function()
{
//动画速度
var speed = 500;

//绑定事件处理
$("#btnShow").click(function(event)
{
//取消事件冒泡
event.stopPropagation();
//设置弹出层位置
var offset = $(event.target).offset();
$("#divPop").css({ top:offset.top + $(event.target).height() + "px",left:offset.left });
//动画显示
$("#divPop").show(speed);

});
//单击空白区域隐藏弹出层
$(document).click(function(event) { $("#divPop").hide(speed) });
//单击弹出层则自身隐藏
$("#divPop").click(function(event) { $("#divPop").hide(speed) });
});
</script>

</head>
<body>
<div>
<br /><br /><br />
<button id="btnShow">显示提示文字</button>
</div>

<!-- 弹出层 -->
<div id="divPop" style="background-color:#f0f0f0; border:solid 1px #000000; position:absolute; display:none;
width:300px; height:100px;">
<div style="text-align:center;">弹出层</div>
</div>
</body>
</html>

除了实现了基本的显示和隐藏功能,现在显示和隐藏弹出层是渐变动画效果! jQuery的动画函数如此简单,第一次我在项目中使用时带给了我意外的惊喜.曾经我一直为跨浏览器计算位置头痛,但是通过jQuery的offset()函数和height()函数,可以精确的计算弹出层的位置.这些函数是封装好且跨浏览器的.需要注意要在设置弹出层位置属性的时候,加上"px",否则在FireFox下容易出现问题.

时间: 2024-09-10 16:15:43

从零开始学习jQuery (七) jQuery动画-让页面动起来!的相关文章

从零开始学习jQuery (七) jQuery动画实现 让页面动起来_jquery

一.摘要 本系列文章将带您进入jQuery的精彩世界, 其中有很多作者具体的使用经验和解决方案,  即使你会使用jQuery也能在阅读中发现些许秘籍. 开发人员一直痛疼做动画. 但是有了jQuery你会瞬间成为别人(那些不知道jQuery的人)眼里的动画高手! 本文将介绍jQuery的动画相关函数.原来做动画如此简单! 二.前言 本系列文章的实例都是针对某一个技术细节的, 因为我们要学习的是基础知识, 虽然总有人希望要复杂一些的应用示例, 但是我想还是让我们先把基础打牢,  有了扎实的基础凭借每

六大奇招带你玩转HTML5移动页面动效

  四月份最有技术含量的干货!今天腾讯前端TQ同学来来谈谈一些动画设计的小技巧,能帮你在短时间没动画灵感时瞬间让页面增色,同时也会谈及移动端H5页面的优化细节与关键点 >>> 作为一名前端,在拿到设计稿时你有两种选择: 1.快速输出静态页面 2.加上高级大气上档次狂拽炫酷屌炸天的动画让页面动起来 作为一个有志向的前端,当然是选2啦!可是需求时间又很短很短,怎么办呢? 这次就来谈谈一些动画设计的小技巧,能在你时间不多又没有动画想法的时候瞬间让页面增色不少. 同时也会谈及移动端H5页面的优化

从零开始学习jQuery (一) 开天辟地入门篇_jquery

一.摘要 本系列文章将带您进入jQuery的精彩世界, 其中有很多作者具体的使用经验和解决方案,  即使你会使用jQuery也能在阅读中发现些许秘籍. 本篇文章是入门第一篇, 主要是简单介绍jQuery, 通过简单示例指导大家如何编写jQuery代码以及搭建开发环境. 详细讲解了如何在Visual Studio中配合使用jQuery. 转载请注明子秋出品!博客园首发! 二.前言 首先道个歉! "从零开始学习ASP.NET MVC"系列文章在即将介绍Filter时就没有更新了, 原因就是

从零开始学习jQuery(一) 开天辟地入门篇

一.摘要 本系列文章将带您进入jQuery的精彩世界,其中有很多作者具体的使用经验和解决方案,即使你会使用jQuery也能在阅读中发现些许秘籍. 本篇文章是入门第一篇,主要是简单介绍jQuery,通过简单示例指导大家如何编写jQuery代码以及搭建开发环境. 详细讲解了如何在Visual Studio中配合使用jQuery. 二.前言 首先道个歉! "从零开始学习ASP.NET MVC"系列文章在即将介绍Filter时就没有更新了,原因就是最近我一直在研究和学习jQuery.看到本系列

从零开始学习jQuery (一)

一.摘要 本系列文章将带您进入jQuery的精彩世界, 其中有很多作者具体的使用经验和解决方案,  即使你会使用jQuery也能在阅读中发现些许秘籍. 本篇文章是入门第一篇, 主要是简单介绍jQuery, 通过简单示例指导大家如何编写jQuery代码以及搭建开发环境. 详细讲解了如何在Visual Studio中配合使用jQuery. 转载请注明子秋出品!博客园首发! 二.前言 首先道个歉! "从零开始学习ASP.NET MVC"系列文章在即将介绍Filter时就没有更新了, 原因就是

从零开始学习jQuery (十) jQueryUI常用功能实战_jquery

一.摘要 本系列文章将带您进入jQuery的精彩世界, 其中有很多作者具体的使用经验和解决方案,  即使你会使用jQuery也能在阅读中发现些许秘籍. 本文是实战篇. 使用jQueryUI完成制作网站的大部分常用功能.  二.前言 经过公司内部收集, 整理了一些经常使用javascript实现的功能.  实现这些功能的主角不是让人眼花缭乱的jQuery插件,  而是jQuery UI. 如果你还在为了一个小小的特效而去下载并安装插件, 发现Bug还没有人替你解决. 记住插件是我们没有办法的最后选

从零开始学习jQuery (五) jquery事件与事件对象_jquery

一.摘要 事件是脚本编程的灵魂. 所以本章内容也是jQuery学习的重点. 本文将对jQuery中的事件处理以及事件对象进行详细的讲解.  二.前言 本篇文章是至今为止本系列内容最多的一篇, 足以可见其重要性.  大家反映要多列举示例. 我会在时间允许的情况下尽量多列举示例. 真正的投入生产使用的实例暂时还无法加入到文章中, 但是可能最后我会列举一些作品供大家借鉴. 另外本人水平有限, 因为我不是UI设计师. 文章可能有错误的地方, 希望大家帮忙指出, 一起学习一起进步. 在技术的世界里我们是没

从零开始学习jQuery (十) jQueryUI常用功能实战

一.摘要 本系列文章将带您进入jQuery的精彩世界,其中有很多作者具体的使用经验和解决方案,即使你会使用jQuery也能在阅读中发现些许秘籍. 本文是实战篇.使用jQueryUI完成制作网站的大部分常用功能. 二.前言 经过公司内部收集,整理了一些经常使用javascript实现的功能.实现这些功能的主角不是让人眼花缭乱的jQuery插件,而是jQuery UI. 如果你还在为了一个小小的特效而去下载并安装插件,发现Bug还没有人替你解决.记住插件是我们没有办法的最后选择. 使用插件有太多的坏

从零开始学习jQuery (九) jQuery工具函数_jquery

一.摘要 本系列文章将带您进入jQuery的精彩世界, 其中有很多作者具体的使用经验和解决方案,  即使你会使用jQuery也能在阅读中发现些许秘籍. 我们经常要使用脚本处理各种业务逻辑, 最常见的就是数组和对象的操作. jQuery工具函数为我们操作对象和数组提供了便利条件. 二.前言 大部分人仅仅使用jQuery的选择器选择对象, 或者实现页面动画效果. 在处理业务逻辑时常常自己编写很多算法. 本文提醒各位jQuery也能提高我们操作对象和数组的效率. 并且可以将一些常用算法扩充到jQuer