1.不论鼠标指针离开被选元素还是任何子元素,都会触发 mouseout 事件。
2.只有在鼠标指针离开被选元素时,才会触发 mouseleave 事件。
<div class="sel_box">
<input type="button" value="请选择所属部门" id="sel_dept" />
<div class="hide" id="sel_dept_sh" style="display: none;">
<p>
<font>深圳市公司 </font>
</p>
<p>
<font>集团管理层 </font>
</p>
</div>
</div>
<script type="text/javascript">
$(".sel_box").click(function(event){
if(event.target.id == 'sel_dept'){
$("#sel_dept_sh").show(); //显示下拉框
$("#sel_dept_sh p font").click(function(){
$("#sel_dept").val('');
var text = $(this).text();
// alert(text);
$("#sel_dept").val(text).css("color","#000");
$("#sel_dept_sh").hide();
});
}else{
$("#sel_dept_sh").hide();
}
});
$(".sel_box").bind("mouseleave",function(){//用mouseleave就实现了模仿下拉框的效果
$(this).find(".hide").hide();
});
$(".sel_box").bind("mouseout",function(){//而mouseout则不行,什么时候都会触发
$(this).find(".hide").hide();
});
</script>
1.引用类型值(对象)是引用类型(类)的实例.
2.创建Object实例的方式.
a. var person = new Object();
person = "Inner";
b.对象字面量var person={name : "jin",age : 24}
c.留空花括号
var person={};
person.name = "wei";
3.函数传入参数(必需值使用命名参数,而对象字面量封装可选参数.)
function displayObj(args){
var output=" ";
if(args.name = "string"){
output += "name" + args.name + "\n";
}
if(args.age = "number"){
output += "age" + args.age + "\n";
}
alert(output)
}
displayObj({name : "jin",age :24});
displayObj({age : 23});
4.访问对象的属性.
方括号语法:person["name"];
点表示法:person.name
1.函数就是对象,而函数名是指向函数对象的指针,不会与某个函数绑定。
2.函数没有重载(函数重载:同一个函数名对应着多个函数的实现.)
For Examle:
function addnum(num){return num+10 }
function addnum(num){return num+20}
addnum(10);//30
3.函数表达式与函数声名(解析器会率先读取函数声明,其它情况都是等价的).
4.作为值的函数(函数名本身就是变量,所以可以作为值来使用)。
a.从一个函数中返回另一个函数
function callFunction(someFunction,someArguments){
return someFunction(someArguments);
}
function add20(num){
return num+20;
}
var result = callFunction(add20,30); //去掉函数圆括号是对函数指针的引用,而加上圆括号是立即执行函数.
alert(result); //50
b.按照某个对象属性给对象数组进行排序?
function compareFunction(properyName){
return function(obj1,obj2){
var value1 = obj1[propertyName];
var value2 = obj2[propertyName];
if(value1>value2){
return 1;
}else if{value1<value2}{
return -1;
else{
return 0
}
}
}
var data = [{name : "Jin",age : 24},{name:"awei",25}];
data.sort(compareFunction("name"));
data[0].name;
5.函数的内部属性(arguments(callee)、this);
6.函数的属性和方法。
属性:length、prototype
方法:apply()、call() (这两个非继承而来的方法实际上等于设置函数体内this对象的值.)
apply()方法接受两个参数:1.在其中运行函数的作用域;2.参数数组.
function sum(num1,num2){
return num1+num2;
}
function callSum(){
return sum.apply(this,arguments);
}
alert(callSum(10,20));//30
call()方法除了第二个参数必须要逐个列举外,其它和apply()方法一样.
:before 伪元素在元素之前添加内容.
此样式会在每个 h2元素之前播放一段声音:
h2:before
{
content:url(beep.mp3);
}
如果已规定 !DOCTYPE,那么 Internet Explorer 8 (以及更高版本)才支持 content 属性。