1.hover方法
实例
当鼠标指针悬停在上面时,改变 <p> 元素的背景颜色
$("p").hover(function(){
$("p").css("background-color","yellow");
},function(){
$("p").css("background-color","pink");
});
定义和用法
hover() 方法规定当鼠标指针悬停在被选元素上时要运行的两个函数。
方法触发 [mouseenter]和 [mouseleave]事件。
注意: 如果只指定一个函数,则 mouseenter 和 mouseleave 都执行它。
语法
$(*selector*).hover(*inFunction,outFunction*)
调用
$( selector ).hover( handlerIn, handlerOut )
以上写法等同以下方式
$( selector ).mouseover( handlerIn ).mouseout( handlerOut );
注意:如果只规定了一个函数,则它将会在 mouseover 和 mouseout 事件上运行。
调用
$(selector).hover(handlerInOut)
等同于
$( selector).on( "mouseover mouseout", handlerInOut );
| 参数 | 描述 |
| inFunction | 必需。规定 mouseover 事件发生时运行的函数。 |
| outFunction | 可选。规定 mouseout 事件发生时运行的函数。 |
2.JQUERY的父,子,兄弟节点查找方法
1.查找父元素
jQuery.parent(expr)
例: $("span").parent()
$("span").parent(".class")
2.查找所有祖先元素,不限于父元素
jQuery.parents(expr)
3.返回所有直接子节点,不会返回子孙节点
jQuery.children(expr)
4.返回包含的的所有内容,包括节点和文本。
这个方法和children()的区别就在于,包括空白文本,也会被作为一个jQuery对象返回,children()则只会返回节点
jQuery.contents()
5.只返回上一个兄弟节点,不是所有的兄弟节点
jQuery.prev()
6.返回所有之前的兄弟节点
jQuery.prevAll()
7.返回下一个兄弟节点,不是所有的兄弟节点
jQuery.next()
8.返回所有之后的兄弟节点
jQuery.nextAll()
9.返回兄弟姐妹节点,不分前后
jQuery.siblings()
10.查找某元素
jQuery.find(expr)
例:$("p"),find("span")
从<p>元素开始找<span>,等同于$("p span")
3.setInterval、setTimeout带参数的写法
1.采用字符串形式
setInterval("foo(id)",1000);
//(缺陷)参数不能被周期性改变
**2.匿名函数包装 (推荐) **
time = setInterval(function()
{
foo (id);
}, 1000);
//可以周期性执行foo(id)这个函数,而且把变量id传递进去;
**3.定义返回无参函数的函数 **
function foo(id)
{
alert(id);
}
function _foo(id)
{
return function()
{
foo(id);
}
}
window.setInterval(_foo(id),1000);
//定义了一个函数_foo,用于接收一个参数,并返回一个不带参数的函数,
//在这个函数内部使用了外部函数的参数,从而对其调用,不需要使用参数。
//在 window. setInterval函数中
//使用_foo(id)来返回一个不带参数的函数句柄,从而实现了参数传递的功能。
**4.修改setInterval **
function foo(id)
{
alert(id);
}
var _sto = setInterval;
window.setInterval = function(callback,timeout,param)
{
var args = Array.prototype.slice.call(arguments,2);
var _cb = function()
{
callback.apply(null,args);
}
_sto(_cb,timeout);
}
window.setInterval(hello,3000,userName);
4.js中对函数设置默认参数值的3种方法
方法1
function example(a,b){
var a = arguments[0] ? arguments[0] : 1;//设置参数a的默认值为1
var b = arguments[1] ? arguments[1] : 2;//设置参数b的默认值为2
return a+b;
}
//等同于:
function example(){
var a = arguments[0] ? arguments[0] : 1;//设置第一个参数的默认值为1
var b = arguments[1] ? arguments[1] : 2;//设置第二个参数的默认值为2
return a+b;
}
//调用示例:
alert( example() ); //输出3
alert( example(10) ); //输出12
alert( example(10,20) ); //输出30
alert( example(null,20) ); //输出20
方法2
function example(name,age){
name=name||'貂蝉';
age=age||21;
alert('你好!我是'+name+',今年'+age+'岁。');
}
//等同于:
function example(name,age){
if(!name){name='貂蝉';}
if(!age){age=21;}
alert('你好!我是'+name+',今年'+age+'岁。');
}
//调用示例:
example('王五');//输出:你好!我是王五,今年21岁。
example('王五',30);//输出:你好!我是王五,今年30岁。
example(null,30);//输出:你好!我是貂蝉,今年30岁。
方法3:适合用于参数较多的情况
function example(setting){
var defaultSetting={
name:'小红',
age:'30',
sex:'女',
phone:'100866',
QQ:'100866',
birthday:'1949.10.01'
};
$.extend(defaultSetting,settings);
var message='姓名:'+defaultSetting.name
+',性别:'+defaultSetting.sex
+',年龄:'+defaultSetting.age
+',电话:'+defaultSetting.phone
+',QQ:'+defaultSetting.QQ
+',生日:'+defaultSetting.birthday
+'。';
alert(message);
}
//调用示例
example({
name:'小红',
sex:'女',
phone:'100866'
});
//输出:姓名:小红,性别:女,年龄:30,电话:100866,QQ:100866。
网友评论