1.1 jQuery操作DOM

jQuery课程的目标:学会使用jQuery设计常见效果

选择器

基本选择器:#id 、.class 、element、* 、

层级选择器: 空格、>、+、~

基本过滤选择器::first、:last、:eq(index)、:lt(index)、:gt(index)、:odd、:even

筛选选择器:.eq(index)、.children()、.parent()、.siblings()、.find()

动画:show、hide、fadeIn、fadeOut、fadeTo、slideDown、slideUp、slideToggle

animate

DOM操作:.css()、addClass(“className”)、removeClass()、toggleClass

.attr()、removeAttr()、.val()、.html(“<p></p>”)、text()

node.append(“<p>我是追加的内容</p>”)、prePend()

1.2 元素操作

1.2.1 高度和宽度

$(“div”).height(); // 高度

$(“div”).width(); // 宽度

.height()方法和.css(“height”)的区别:

  1. 返回值不同,.height()方法返回的是 数字类型(20),.css(“height”)返回的是字符串类型(20px),因此.height()方法常用在参与数学计算的时候

1.2.2 坐标值

$(“div”).offset(); // 获取或设置坐标值 设置值后变成相对定位

$(“div”).position(); // 获取坐标值 子绝父相 只能读取不能设置

1.2.3 滚动条(滚动事件)

$(“div”).scrollTop(); // 相对于滚动条顶部的偏移

$(“div”).scrolllLeft(); // 相对于滚动条左部的偏移

案例:两次跟随的广告

案例:防腾讯固定导航栏

1.3 jQuery事件

1.3.1 绑定

click/mouseenter/blur/keyup

// 绑定事件

bind:$node.bind(“click”,function(){});

// 触发一次

one : $node.one(“click”,function(){});

delegate : $node.delegate(“p”,”click”,function(){});

on: $node.on(“click”,”p”,function(){});

1.3.2 解绑

unbind、undelegate

off

1.3.3 触发

click : $(“div”).click();

trigger:触发事件,并且触发浏览器默认行为

triggerHandler:不触发浏览器默认行为

1.4 jQuery事件对象介绍

event.stopPropagation() //阻止事件冒泡

event.preventDefault();  //阻止默认行为

1.5 jQuery补充

需要注意的地方:

animate动画:不支持背景的动画效果

animate动画支持的属性列表

参考手册(不全)、

在线文档:

w3school:http://www.w3school.com.cn/jquery/index.asp

jQuery官网:http://jquery.com/

$()的几种常用用法:

1.$(“#id”) 选择某个元素,返回值为jQuery对象

2.$(this) 将DOM对象转换成jQuery对象

3.$(“<div></div>”) 创建元素,返回值为jQuery对象

4.$(function(){}); 入口函数的简写方式

$("div").html() 获取内容的时候,只返回匹配到的第一个元素的数据

链式编程问题:

$("div").html() 后面就不能继续链式了?

为什么?函数返回值问题!

$node.each(function(index,element){});

$.each([1,2,3,5,6,7], function (i,v) {

console.log(i + " : " + v);

});

map返回数组(了解)

$(“li”).map(function(){

return $(this).text();

});

1.5.1 数据缓存

$(“div”).data(“index”); // 获取数据index的值

注意:

html里面的data 属性,例如:data-ROLE,jQuery获取的时候用:$(“div”).data(“role”);

当使用jQuery设置data属性的时候,例如:$(“div”).data(“UPCASE”,123); ,那么获取的时候,要使用:$(“div”).data(“UPCASE”);

<div data-role="page" data-last-value="43" data-hidden="true" data-options='{"name":"John"}'>注意HTML属性不区分大小写</div>

$( "div" ).data( "lastValue" ) === 43;

lastValue -> data-last-value

1.5.2 .data()跟.attr() 方法的区别:

1.获取数据的时候,attr方法需要传入参数,data方法可以不传入参数,这时候获取到的是一个js对象,即使没有任何data属性。

2. 获取到的数据类型不同,attr方法获取到的数据类型是字符串(String),data方法获取到的是相应的类型。

3. data方法获取到数据之后,我们使用一个对象来接收它,那么就可以直接操作(设置值或获取值)这个对象,而attr方法不可以。

并且通过这种方式,要比.data(key,value)的方式更高效!

4. data-attribute属性会在页面初始化的时候放到jQuery对象,被缓存起来,而attr方法不会。

1.5.3 多库共存

同一个页面,引入包含$变量的其他js库,保证它们不发生命名冲突。

// other_lib.js 包含$

<script src="other_lib.js"></script>

<script src="jquery-1.11.1.js"></script>

<script>

$.noConflict();

// 可以使用其他库的$符号了

// 使用jQuery

jQuery(document).ready(function(){});

</script>

1.5.4 jQuery优势:

  1. 书写简洁、代码优雅
  2. Write Less,Do More
  3. 强大的选择器,支持CSS1-3所有的选择器
  4. 浏览器兼容性好,兼容IE6、7、8
  5. 统一的入口,降低了学习、记忆成本
  6. 强大的动画效果、事件支持
  7. 开源、免费
  8. 插件丰富,可扩展性强

1.6 jQuery插件机制

jQuery.color.js

jQuery官网插接教程:http://learn.jquery.com/plugins/basic-plugin-creation/

联系我们的手机

两种方式:

$.log = function(){};

$.fn.log = function(){};

自定义选择器:

jQuery.extend(jQuery.expr[':'], {
     "class-itcast": function(ele) {
        return jQuery(ele).hasClass("itcast");
     }

});
$(":class-itcast").css("background","pink");

1.6.1 常用插件介绍

jQuery.lazyload.js

1.6.2 插件使用:

查看API文档,了解插件的功能,提供的方法和参数。

插件依赖版本

  1. 引用jQuery
  2. 引用插件
  3. 使用插件

1.6.3 怎么写插件

演示jQuery.lxCfbg.js (自己的插件)

(function ($) {

$.fn.lxCfbg = function (options) {

// 合并参数

var opts = $.extend({

"color": "#000",

"font-size": "16px",

"background-color": "#fff"

}, options);

$this.css({

"color": opts.color,

"font-size": opts["font-size"],

"background-color": opts["background-color"]

});

return $this;

};

})(jQuery);

1.7 jQueryUI

jQueryUI教程

jQuery第二篇 (帅哥)的更多相关文章

  1. Jquery第二篇【选择器、DOM相关API、事件API】

    前言 前面已经介绍过了Jquery这门语言,其实就是一个javaScript的库-能够简化我们书写的代码-.本博文主要讲解使用Jquery定位HTML控件[定位控件就是获取HTML的标签],使用Jqu ...

  2. jquery第二篇

    1  操作元素(属性,css,文档处理) --------------------------属性 $("").attr(); $("").removeAttr ...

  3. jquery jtemplates.js模板渲染引擎的详细用法第二篇

    jquery jtemplates.js模板渲染引擎的详细用法第二篇 关于jtemplates.js的用法在第一篇中已经讲过了,这里就直接上代码,不同之处是绑定模板的方式,这里讲模板的数据专门写一个t ...

  4. 第二篇.Bootstrap起步

    第二篇Bootstrap起步 我们可以在http://getbootstrap.com下载bootstrap的文件 点击左边的download bootstrap可以下载bootstrap的css,j ...

  5. “MVC+Nhibernate+Jquery-EasyUI”信息发布系统 第二篇(数据库结构、登录窗口、以及主界面)

    “MVC+Nhibernate+Jquery-EasyUI”信息发布系统 第二篇(数据库结构.登录窗口.以及主界面) 一.在上一篇文章中,主要说的就是把主框架搭建起来,并且Nhibernate能达到增 ...

  6. 【第二篇】ASP.NET MVC快速入门之数据注解(MVC5+EF6)

    目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...

  7. jQuery事件篇---基础事件

    写在前面: 有一段时间未更新博客了,利用这段时间,重新看了<jQuery基础教程 第四版>和<锋利的jQuery 第二版>,这两本书绝对是jQuery入门非常好的书,值得多读几 ...

  8. 【腾讯敏捷转型No.2】帅哥,来多少敏捷?

    上回腾讯敏捷转型系列第一篇文章<敏捷到底是什么鬼?>讲到公司铁了心要推进敏捷,这是战略层面的决定,为什么呢? 当时的我们并不知道公司为什么一定要推行敏捷的新概念,但是后来公司的变化帮助我们 ...

  9. Egret入门学习日记 --- 第二篇 (书籍的选择 && 书籍目录 && 书中 3.3 节 内容)

    第二篇 (书籍的选择 && 书籍目录 && 书中 3.3 节 内容) 既然选好了Egret,那我就要想想怎么学了. 开始第一步,先加个Q群先,这不,拿到了一本<E ...

随机推荐

  1. LINQ 左右连接

    LINQ 左右连接:DefaultIfEmpty() incomeList = (from p in db.Incomes join m in db.Items on p.ItemID equals ...

  2. linux mysql 安装配置

    1.确认当前linux系统版本,使用以下命令: cat /etc/issue cat /etc/redhat-release 2.下载对应linux系统的mysql安装包. 下载地址:http://d ...

  3. DXUT源码阅读笔记

    14.GetCapture() 函数功能:该函数取得捕获了鼠标的窗口(如果存在)的句柄.在同一时刻,只有一个窗口能捕获鼠标:此时,该窗口接收鼠标的输入,无论光标是否在其范围内.函数原型:HWND Ge ...

  4. HDU3948 & 回文树模板

    Description: 求本质不同回文子串的个数 Solution: 回文树模板,学一学贴一贴啊... Code: /*================================= # Cre ...

  5. T-SQL Recipes之Separating elements

    Separating elements Separating elements is a classic T-SQL challenge. It involves a table called Arr ...

  6. bzoj1103树状数组水题

    (卧槽,居然规定了修改的两点直接相连,亏我想半天) 非常水的题,用dfs序(而且不用重复,应该是直接规模为n的dfs序)+树状数组可以轻松水 收获:树状数组一遍A(没啥好骄傲的,那么简单的东西) #i ...

  7. dede 简略标题调用标签

    一.简略标题调用标签: 1.{dede:field.shorttitle/} 不可以在{dede:arclist}标签中套用,一般放在网页titile处; 2.[field:shorttitle/] ...

  8. BFS/DFS算法介绍与实现(转)

    广度优先搜索(Breadth-First-Search)和深度优先搜索(Deep-First-Search)是搜索策略中最经常用到的两种方法,特别常用于图的搜索.其中有很多的算法都用到了这两种思想,比 ...

  9. iOS 从某个页面返回然后刷新当前页面

    -------->不说废话 在返回页面实现下面方法: - (void)navigationController:(UINavigationController*)navigationContro ...

  10. 关于 iframe 在ie11 height:100% 无效的巨坑

    好的,今天公司分配了个解决ie中的bug的任务,其中,有一个就是iframe 的高度 100% 没有生效的问题: 一开始,由于我真的没有怎么去了解过iframe这个货,所以,网上各种搜索一大堆关于这货 ...