2017-07-19 48 views
0

我有一个搜索栏,使用javascript的搜索功能。点击它会降低一些结果。但我需要设置一个时间1分钟来显示下拉结果,同样可以将搜索合适性设置为旧的。如何设置超时js onlick方法在php中

HTML CODE

<div class="dropdown"> 
    <input onclick="myFunction()" class="dropbtn" id="myInput" 
    placeholder="Search Stores & Brands" onkeyup="filterFunction()"> 
    <span class="glyphicon glyphicon-search form-control-feedback"></span> 

    <div id="myDropdown" class="dropdown-content">  
    <a href="<?php echo site_url()?>welcome/search_Bonanza">Bonanza</a> 
    <a href="<?php echo site_url()?>welcome/search_BestBuy">BestBuy</a> 
    <a href="<?php echo site_url()?>welcome/search_Belk">Belk</a> 
    <a href="<?php echo site_url()?>welcome/search_Benmeadows">Benmeadows</a> 
    <a href="<?php echo site_url()?>welcome/search_Backcountry">Backcountry</a> 
    <a href="<?php echo site_url()?>welcome/search_Cosme_de">Cosme - de</a> 

JS CODE

function myFunction() { 
    document.getElementById("myDropdown").classList.toggle("show"); 
} 
function filterFunction() { 
    var input, filter, ul, li, a, i; 
    input = document.getElementById("myInput"); 
    filter = input.value.toUpperCase(); 
    div = document.getElementById("myDropdown"); 
    a = div.getElementsByTagName("a"); 
    for (i = 0; i < a.length; i++) { 
     if (a[i].innerHTML.toUpperCase().indexOf(filter) > -1) { 
      a[i].style.display = ""; 
     } else { 
      a[i].style.display = "none"; 
     } 
    } 
} 
  • 我需要ONY 1或2分钟以活性的onclick方法和删除等felter功能保持相同
+0

的setTimeout(函数(){/ *代码到这里* /},1000/*时间(ms)* /) – error404

+0

'的setTimeout(函数() {document.getElementById(“myInput”)。onclick = null; document.getElementById(“myInput”)。onkeyup = null; },60000);''1分钟后将从输入中移除事件处理程序。这是你的意思吗? – ADyson

+0

不,它不是。我需要执行1分钟的onclick函数显示结果。 –

回答

0

您可以再次切换类列表:

function myFunction() { 
    document.getElementById("myDropdown").classList.toggle("show"); 
    setTimeout(function(){ 
        document.getElementById("myDropdown").classList.toggle("show"); 
    },60000);//60000 for 1 minute. 
    } 
+0

希望这个给你所需的输出。 –