已采納回答 / 慕神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