Javascript 如何缩短搜索列表?
如何使搜索结果显示得像4行一样短,而不是全部,并延伸到底部 这是我的密码:Javascript 如何缩短搜索列表?,javascript,html,css,Javascript,Html,Css,如何使搜索结果显示得像4行一样短,而不是全部,并延伸到底部 这是我的密码: li = ul.getElementsByTagName("li"); for (i = 0; i < li.length; i++) { a = li[i].getElementsByTagName("a")[0]; 代码的其余部分: var UL = document.getElementById("myUL"); // hilde the list by default UL
li = ul.getElementsByTagName("li");
for (i = 0; i < li.length; i++) {
a = li[i].getElementsByTagName("a")[0];
代码的其余部分:
var UL = document.getElementById("myUL");
// hilde the list by default
UL.style.display = "none";
var searchBox = document.getElementById("myInput");
// show the list when the input receive focus
searchBox.addEventListener("focus", function(){
// UL.style.display = "block";
});
// hide the list when the input receive focus
searchBox.addEventListener("blur", function(){
});
function myFunction() {
var input, filter, ul, li, a, i;
input = document.getElementById("myInput");
ul = document.getElementById("myUL");
filter = input.value.toUpperCase();
// if the input is empty hide the list
if(filter.trim().length < 1) {
ul.style.display = "none";
return false;
} else {
ul.style.display = "block";
}
li = ul.getElementsByTagName("li");
for (i = 0; i < li.length; i++) {
a = li[i].getElementsByTagName("a")[0];
// This is when you want to find words that contain the search string
if (a.innerHTML.toUpperCase().indexOf(filter) > -1) {
li[i].style.display = "";
} else {
li[i].style.display = "none";
}
var UL=document.getElementById(“myUL”);
//默认情况下,隐藏列表
UL.style.display=“无”;
var searchBox=document.getElementById(“myInput”);
//输入接收焦点时显示列表
searchBox.addEventListener(“焦点”,函数(){
//UL.style.display=“块”;
});
//当输入接收焦点时隐藏列表
searchBox.addEventListener(“blur”,function()){
});
函数myFunction(){
var输入、滤波器、ul、li、a、i;
输入=document.getElementById(“myInput”);
ul=document.getElementById(“myUL”);
filter=input.value.toUpperCase();
//如果输入为空,则隐藏列表
如果(过滤器修剪().长度<1){
ul.style.display=“无”;
返回false;
}否则{
ul.style.display=“块”;
}
li=ul.getElementsByTagName(“li”);
对于(i=0;i-1){
李[i].style.display=“”;
}否则{
li[i].style.display=“无”;
}
请帮帮我,我现在要花几个小时来解决这个问题:(
提前谢谢!试试这个
var limit = 4;
for (i = 0, j = 0; i < li.length && j < limit; i++) {
当您进行4次匹配时,循环将终止
var limit = 4;
for (i = 0, j = 0; i < li.length && j < limit; i++) {
当您进行了4次匹配时,循环将终止。您从代码内的列表中获取搜索结果的原因是什么:您从代码内的列表中获取搜索结果的原因是什么:这样的原因是:虽然不起作用,但我已经用css代码进行了更新,这可能是导致his?@Dr.Joben您能发布与填充搜索结果相关的部分代码吗?问题可能在其他地方。我可能找到了问题。`ul.style.display=“block”`将显示整个列表。我如何重新编码以仅显示4个?很抱歉,打扰您,但我将'li[I].style.display=“”放在哪里;j++;'我的代码在哪一部分?我已经更新了上面的完整脚本代码。如果打扰您,我很抱歉,但非常感谢您的帮助和时间:)虽然不起作用,但我已经用css代码进行了更新,这可能是导致此问题的原因吗?@Dr.Joben您可以发布与填充搜索结果相关的代码部分吗?问题可能在其他地方。我可能发现了问题。`ul.style.display=“block”;`这将显示整个列表。我如何将其重新编码为仅显示4个?很抱歉打扰您,但是我应该将'li[I].style.display=“”;j++;'放在我代码的哪个部分?我已经更新了上面的完整脚本代码。如果打扰您,我很抱歉,但非常感谢您的帮助和时间:)
// This is when you want to find words that contain the search string
if (a.innerHTML.toUpperCase().indexOf(filter) > -1) {
li[i].style.display = "";
j++;
} else {