已采纳回答 / 慕神4291904
你在搞笑 都没有给关闭按钮添加事件怎么关闭呢 //关闭按钮 for(var i=0; i<aClose.length;i++){ aClose[i].onclick=function(){ oMask.style.display=oSearch.style.display="none"; } } 直接复制的我 哈哈
2017-12-28
$('#searchTip').delegate('a','click',function(){
var $parent = $(this).parent();
$parent.hide();
if($parent.next().length){
$parent.next().show();
}else{
$('#mask,#searchTip').hide();
}
}).delegate('span','click',function(){
$('#mask,#searchTip').hide();
})
var $parent = $(this).parent();
$parent.hide();
if($parent.next().length){
$parent.next().show();
}else{
$('#mask,#searchTip').hide();
}
}).delegate('span','click',function(){
$('#mask,#searchTip').hide();
})
2017-12-12
两重for循环分别给5个a元素和4个span元素都绑定了onclick事件,有点繁琐,其实可以使用事件委托,将整个click事件绑定在oSearch上,然后通过根据e.target || e.srcElement的tagName属性是'A'还是'SPAN'来写相应的对应逻辑
2017-12-12
//下一步按钮
这段for循环老师添加了额外的属性index来记录索引,无非就是想达到目的:使得onclick中的i能实时拿到对应值,而不是拿到for循环结束后的那个i值,当然这也不失为一种思路。其实不额外增加index属性也可以实现。
方法1:使用闭包特性结合立即执行的函数表达式把i的值当作参数传入
方法2:更简单,使用let的块级作用域特性,把for循环后面的var声明改成let声明
这段for循环老师添加了额外的属性index来记录索引,无非就是想达到目的:使得onclick中的i能实时拿到对应值,而不是拿到for循环结束后的那个i值,当然这也不失为一种思路。其实不额外增加index属性也可以实现。
方法1:使用闭包特性结合立即执行的函数表达式把i的值当作参数传入
方法2:更简单,使用let的块级作用域特性,把for循环后面的var声明改成let声明
2017-12-12