Last active
August 29, 2015 14:03
-
-
Save jikeytang/800f2bdd05f0051764fa to your computer and use it in GitHub Desktop.
[ jQuery ] - 20140714-题目1
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
请说出以下的区别: | |
1. $, $.fn | |
尤其是在写插件的时候? | |
$.fn.hilight = function( options ){}; | |
$.hilight = function( options ){}; | |
2. on,bind,live,delegate | |
3. 为什么要使用命名空间来绑定事件 | |
$().on('click.myEvent',fn) | |
4. $().animate()能控制css中所有的属性实现动画? | |
PS: | |
1. 回复时注意加上下面这句话,才会有语法高亮或格式缩进。 | |
```javascript | |
// you code | |
``` | |
2. 粘贴代码时请使用shift+tab,缩进前面的空白。 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
请说出以下的区别:
$ 这个钱记号是 “jQuery”这个物件的缩写
也就是所有你看到用 $() 的地方
都可以改写成用 jQuery()
例如:
$.fn 在jQuery中,fn 只是一个(物件原型) 属性的别名。
尤其是在写插件的时候?
$.fn.hilight = function( options ){};
为 hilight 原型裡,提供了一个成员函数。
$.hilight = function( options ){};
在$里,扩展一个hilight函数
参考网址:http://www.becoolcms.com/HTML/2013/8/221.shtml
.bind()
$('a').bind('click', function() { alert("That tickles!") });
这是最直接的绑定方法。jQuery 扫描文档找到所有 $(‘a’) 元素,然后给每一个找到的元素的 click 事件绑定处理函数。
.live()
$('a').live('click', function() { alert("That tickles!") });
jQuery绑定处理函数到 $(document) 元素,并把 ‘click’ 和 ‘a’ 作为函数的参数。
有事件冒泡到document节点的时候,检查这个事件是不是 click 事件,target element能不能匹配 ‘a’ css选择器
如果两个条件都是true,处理函数执行。
.delegate()
$('#container').delegate('a', 'click', function() { alert("That tickles!") });
jQuery扫描文档找到 $(‘#container’),绑定处理函数到他的 click 事件,’a’ css选择器作为函数的参数。
当有事件冒泡到 $(‘#container’),检查事件是不是 click,并检查target element是不是匹配css选择器,如果两者都符合,执行函数。
on
jQuery推出on()的目的有2个
一是为了统一介面
二是为了提高性能,用on()替换bind(), live(), delegate吧。
原文网址:http://zh-tw.yescript.com/JavascriptScripts-510-jQuerybind/
$().on('click.myEvent',fn)
jQuery的事件命名空间-Namespaced Events
命名空间简单易懂的说就是为了避免混淆,恰似人类的姓+名。
专业解释请看 http://zh.wikipedia.org/wiki/命名空间。
命名就是取名,比如两个人都叫做小明,空间就是区分命名的
比如一个小明姓王,一个小明姓张。
王,张的姓就是空间,命名+空间(姓,名合体:王+小明,张+小明),你就不会混淆到底在说哪个小明。
jquery的事件命名空间
就是为了区分同一个jquery元素绑定的多个同名事件
使用方法就是:
$.bind(“事件名.区分后缀”, function),.trigger(“事件名.区分后缀”)。
animate() 方法执行 CSS 属性集的自定义动画。
该方法通过CSS样式将元素从一个状态改变为另一个状态。
CSS属性值是逐渐改变的,这样就可以创建动画效果。
只有数字值可创建动画(比如 "margin:30px")。
字符串值无法创建动画(比如 "background-color:red")。
范例:http://www.w3school.com.cn/tiy/t.asp?f=jquery_effect_animate
题目要求,$().animate()控制css中所有的属性。
因为函数是要人去开发、维护的
所以 animate(),遇到没有人去维护的部份,就会没有效果或是异常
然后ccs所有的属性,太复杂、太多
以至于无法控制 css中所有的属性。
.