学习目标

本期是JQuery的最后一期。引入的js文件还是与上一期保持一致。

1. 插件

1.1 常用插件

插件:jquery不可能包含所有的功能,我们可以通过插件扩展jquery的功能。

jQuery有着丰富的插件,使用这些插件能给jQuery提供一些额外的功能。

那么我这里用百度网盘提供本期所需要的插件:
链接: https://pan.baidu.com/s/1TDX1c-Be2GixdXCeEFwCmQ
提取码:lxsw
复制这段内容后打开百度网盘手机App,操作更方便哦

1.1.1 jquery.color.js

animate不支持颜色的渐变,但是使用了jquery.color.js后,就可以支持颜色的渐变了。

使用插件的步骤

1. 引入jQuery文件
2. 引入插件(如果有用到css的话,需要引入css)
3. 使用插件

例子:

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><title>Title</title><style>div {width: 400px;height: 400px;background-color: red;}</style>
</head>
<body><div></div><!--1. 引入jquery的js文件-->
<script src="jquery-1.12.4.js"></script>
<!--2. 引入插件的js文件-->
<script src="jquery.color.js"></script>
<script>$(function () {//3. 直接使用即可。//说明jquery不支持颜色的渐变,颜色最好用16进制$('div').animate({backgroundColor:"#ffc0cb"}, 3000, function () {alert("呵呵");});});
</script>
</body>
</html>

1.1.2 jquery.lazyload.js

懒加载插件:进入一个网站时,例如淘宝京东,上面的图片有很多很多,所以在开始时是不会把所有图片加载的,而只加载你所看到的的区域。

例子:

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><title>Title</title><style>div {height: 4000px;}</style>
</head>
<body>
<div></div>
<img class="lazy" data-original="02.gif" alt=""><script src="jquery-1.12.4.js" type="text/javascript"></script>
<script src="jquery.lazyload.js" type="text/javascript"></script>
<script>$(function () {$("img.lazy").lazyload();});</script>
</body>
</html>


网页出来后,02.gif没有被加载,只有你滑动

jquery.ui.js插件

jQueryUI专指由jQuery官方维护的UI方向的插件。

官方API:http://api.jqueryui.com/category/all/

其他教程:jQueryUI教程

我再提供一个离线文档:链接:https://pan.baidu.com/s/16IAX8tTyyQKVMjetmkJUDA
提取码:npp7

例子:

<!DOCTYPE html>
<html><head lang="en"><meta charset="UTF-8"><title></title><link rel="stylesheet" href="jquery-ui.css"><style type="text/css">* {margin: 0;padding: 0;}.drag-wrapper {width: 400px;margin: 50px auto 0;/*border: 10px solid #000;*/}.drag-bar {height: 40px;font-size: 20px;font-weight: bold;line-height: 40px;text-align: center;background-color: #E6E6E6;border-top-left-radius: 5px;border-top-right-radius: 5px;cursor: move;}.resize-item {height: 212px;border: 1px solid #e6e6e6;}.sort-wrapper {height: 100%;overflow: hidden;}.sort-item {list-style: none;padding-top: 10px;}.sort-item li {height: 40px;line-height: 40px;padding-left: 20px;cursor: pointer;}.sort-item li:hover {background-color: #e6e6e6;}</style></head><body>
<div class="drag-wrapper"><div class="drag-bar">可拖动、排序、变形的新闻模块</div><div class="resize-item"><div class="sort-wrapper"><ul class="sort-item"><li>这是第1条新闻!</li><li>这是第2条新闻!</li><li>这是第3条新闻!</li><li>这是第4条新闻!</li><li>这是第5条新闻!</li><li>这是第6条新闻!</li><li>这是第7条新闻!</li><li>这是第8条新闻!</li><li>这是第9条新闻!</li><li>这是第10条新闻!</li></ul></div></div>
</div><script src="jquery-1.12.4.js"></script>
<script src="jquery-ui.js"></script><script>$(function () {$(".drag-wrapper").draggable({handle:".drag-bar"});$(".sort-item").sortable({opacity:0.3});$(".resize-item").resizable({handles:"s"});});
</script></body></html>

效果是可以拖动,但是代码就非常简单。

1.2 制作jquery插件

原理:jquery插件其实说白了就是给jquery对象增加一个新的方法,让jquery对象拥有某一个功能。

//通过给$.fn添加方法就能够扩展jquery对象
$.fn. pluginName = function() {};

例子:
html文件:

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><title>Title</title><style>div {width: 200px;height: 200px;background-color: pink;}</style>
</head>
<body><div></div>
<p>1234</p><script src="jquery-1.12.4.js"></script>
<script src="jquery.bgColor.js"></script>
<script>$(function () {$("div").bgColor("red").width(400);});</script></body>
</html>

js文件:jquery.bgColor.js

$.fn.bgColor = function (color) {//this是一个jq对象this.css("backgroundColor", color);return this;
};

手风琴案例:
我们之前做过这个案例,用js代码写了很多,但是使用插件形式,只需要2行就能解决。

html代码:

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><title>Title</title><style>* {margin: 0;padding: 0;list-style: none;}div {width: 1200px;height: 400px;border: 2px solid #000;margin: 100px auto;}li {width: 240px;height: 400px;float: left;}li:nth-child(1) {background-image: url(images/1.jpg);}li:nth-child(2) {background-image: url(images/2.jpg);}li:nth-child(3) {background-image: url(images/3.jpg);}li:nth-child(4) {background-image: url(images/4.jpg);}li:nth-child(5) {background-image: url(images/5.jpg);}</style>
</head>
<body><div id="box"><ul><li></li><li></li><li></li><li></li><li></li></ul></div><script src="jquery-1.12.4.js"></script>
<script src="jquery.accordion.js"></script>
<script>$(function () {$("#box").accordion();});</script></body>
</html>

jquery.accordion.js

/*** Created by HUCC on 2017/4/12.*/
$.fn.accordion = function (colors, width) {colors = colors || [];width = width || 0;var $li = this.find("li");var boxLength = this.width();var maxLength = boxLength - ($li.length - 1) * width;var avgLength = boxLength / $li.length;//更改li的颜色$li.each(function (i, e) {$(e).css("backgroundColor", colors[i]);});//给li注册鼠标经过事件$li.on("mouseenter", function () {$(this).stop().animate({width: maxLength}).siblings().stop().animate({width: width})});$li.on("mouseleave", function () {$li.stop().animate({width: avgLength});});
};

总结

那么到此,JQuery的学习就结束了,更多的JQuery学习内容请上官网查看。

前端学习从入门到高级全程记录之37(jQuery④)相关推荐

  1. 前端学习从入门到高级全程记录之1 (HTML基础知识)

    本次学习目标 掌握HTML的基本知识,能够写出简单的页面. 1. 开发工具 1.浏览器(chrome(谷歌浏览器),IE浏览器,火狐浏览器,QQ浏览器等等). 2.代码编辑器(sublime,HBui ...

  2. 前端学习从入门到高级全程记录之41 (PHP基础Ⅳ)

    学习目标 本期接上期内容继续学习php基础知识. HTTP 1. 概要 1.1. 定义 HTTP(HyperText Transfer Protocol,超文本传输协议)最早就是计算机与计算机之间沟通 ...

  3. 前端学习从入门到高级全程记录之16(CSS高级技巧)

    本期目标 本期我们继续学习一些CSS的高级技巧. 1.CSS W3C 统一验证工具 CssStats 是一个在线的 CSS 代码分析工具,可以分析你写的代码到底好不好,哪里出错. 网址是: http: ...

  4. 前端学习从入门到高级全程记录之8 (PS基本使用综合案例)

    本期学习目标 本期我们将学习PS的基本使用并且运用以前所学的CSS和HTML的技术来完成一个综合案例. 1.Photoshop基本使用 早在第一期我就让大家去安装PS,不知道安装了没有,没有安装的尽快 ...

  5. 前端学习从入门到高级全程记录之12 (CSS高级技巧)

    学习目标 本期主要学习字体,内容较少.下一期我们将做一个京东的项目,用到的知识将会非常多,非常的有综合性. 1.Web字体 字体格式 不同浏览器所支持的字体格式是不一样的,我们有必要了解一下有关字体格 ...

  6. 前端学习从入门到高级全程记录之11 (云道页面例子后续)

    本期目标 本期学习的主要目标是:1.前几期"云道页面例子"的完善.2.CSS高级技巧的学习 1.云道页面完善 在前2期的云道案例中,我们完成了一半的布局,后面的内容需要用到定位等知 ...

  7. 前端学习从入门到高级全程记录之35(jQuery②)

    学习目标 本期继续学习jQuery,引入的jQuery文件用的还是上一期的. 1.jQuery操作样式 1.1 css操作 功能:设置或者修改样式,操作的是style属性  设置单个样式 //nam ...

  8. 前端学习从入门到高级全程记录之13 (京东项目一)

    学习目的 本期将会学习一个京东项目,综合知识非常多.首先我们要先了解一下这个项目的知识. 1.京东项目(一) 项目名称:京东网 项目描述:京东首页公共部分的头部和尾部制作,京东首页中间部分. 项目背景 ...

  9. 前端学习从入门到高级全程记录之39 (PHP基础Ⅱ)

    学习目标 本期我们将继续学习php的相关知识,在了解了上一期的PHP的一些基本语法和方法,接下来就是实战做做小例子.如果还不会配置php的运行环境的,可以参考我的上一期内容.如果上一期内容看不懂的,可 ...

最新文章

  1. jQuery的jquery-1.10.2.min.map触发404(未找到)
  2. 世界级Oracle专家Jonathan Lewis:我很为DBA们的未来担心(图灵访谈)
  3. selenium自动化测试浏览器驱动安装(属于转载文章)
  4. Steps to configure Oracle 11g Data Guard Physical Standby – Active Data Guard Part-I
  5. java 实体类 临时注解_JPA:Java持久层API--配置流程
  6. textbox matlab,matlab gui 编程文本框更新
  7. 如何在Mac计算机上轻松查找和删除类似照片
  8. 蔡高厅老师 - 高等数学阅读笔记 - 13 不定积分 - 02 分部积分 - 积分函数(53 - 58)
  9. Mozilla Firefox 在用户访问被黑客攻击的网站时发出警告
  10. ubuntu命令 图片 壁纸_太简单了!1分钟把Win 10 高颜值的开屏锁屏壁纸存储到电脑!...
  11. C#使用正则表达式检测数字 char 和韩文
  12. 撤销本地的commit
  13. 关于Android Studio Arctic Fox版本找不到Database Inspection这件事
  14. js怎么实现ftp上传文件到服务器上,js ftp上传文件到服务器上
  15. Intel正式发布新一代Atom处理器
  16. Java中判断一句英文中有多少个以p开头的单词
  17. GitLab基础:如何将备份恢复至更高版本的GitLab
  18. gred-cam 的tensorflow实现 热力图
  19. java网课|static
  20. Win7下如何在windows资源管理器中打开FTP

热门文章

  1. 4、操作系统内存管理——页面的换入换出
  2. xbel文档_什么是.recently-used.xbel?如何永久删除它?
  3. MATLAB逻辑运算
  4. OpenERP 千位分隔符(thousand separator)
  5. 2022年西式面点师(初级)考试试题及答案
  6. LeetCode-Algorithms-[Easy]LCP 02. 分式化简
  7. LeetCode题解(LCP02):分式化简(Python)
  8. 用Python做【游玩攻略】之上海四日游,假期旅游不用愁啦~
  9. c# CAD二次开发 模拟CAD移动图形, 通过圆现在注记,改变图形颜色
  10. cad位移怎么使用?