@半路独行:
var input, filter, ul, li, a, i, isOutUl, isOutInput;// 声明变量 input = document.getElementById('myInput');//获取搜索框的输入值 ul = document.getElementById("myUL");//下拉框 li = ul.getElementsByTagName('li'); function myFunction() { isOutInput = false; isOutUl = false; filter = input.value.toUpperCase();//将搜索框中的值转换成大写 // 循环所有列表,查找匹配项 for (i = 0; i < li.length; i++) { a = li[i].getElementsByTagName("a")[0];//取得链接 if (a.innerHTML.toUpperCase().indexOf(filter) > -1 && filter != '') { li[i].style.display = "";//如果是需要,则显示 ul.style.display = ""; } else { li[i].style.display = "none";//否则,不显示 } } } ul.onmouseleave = function () { isOutUl = true; leave(isOutUl); } input.onmouseleave = function () { isOutInput = true; leave(isOutInput); } var leave = function () { if (isOutUl && isOutInput) { ul.style.display = "none" }; } ul.onmouseenter = function () { isOutUl = false; } input.onmouseenter = function () { isOutInput = false; } var leave = function () { setTimeout(function () { if (isOutUl && isOutInput) { ul.style.display = "none" }; }, 50) }
都改过来了呀
|