Javascript 3功能1输入

Javascript 3功能1输入,javascript,html,Javascript,Html,我做了一个搜索框,当按下“按钮”(输入)时,它会打开和关闭。问题是,当我想关闭搜索框时,我必须单击两次,并在同一位置(x、y轴必须完全相同,否则函数将提交结果) 功能滑块(elopen){ var elem=document.getElementById(elopen); elem.style.transition=“宽度1.4s缓进缓出” elem.style.width=“250px”; elem.style.height=“50px”; } 函数slideClosed(elclose){

我做了一个搜索框,当按下“按钮”(输入)时,它会打开和关闭。问题是,当我想关闭搜索框时,我必须单击两次,并在同一位置(x、y轴必须完全相同,否则函数将提交结果)

功能滑块(elopen){
var elem=document.getElementById(elopen);
elem.style.transition=“宽度1.4s缓进缓出”
elem.style.width=“250px”;
elem.style.height=“50px”;
}
函数slideClosed(elclose){
var elem=document.getElementById(elclose)
elem.style.transition=“宽度1.4s缓进缓出”
elem.style.width=“0px”;
elem.style.height=“50px”;
elem.style.border=“0”;
elem.style.padding=“10px 25px 10px 25px”;
}
函数searchbutton(){
var typetext=document.getElementById(“typetext”);
var typetextWidth=document.getElementById(“typetext”).getAttribute(“宽度”);
var onClick=document.getElementById(“searchtext”).onClick;
如果(typetextWidth==“0”){
onClick=slidepen('typetext');
}否则{
onClick=slideClosed('typetext');
}
}

如果全局变量没有问题,那么我认为这样更好:

...
var searchIsShown = false;

function searchbutton(){

    if(searchIsShown)
    {
        searchIsShown = false;
        slideOpen('typetext');
    } else {
        searchIsShown = true;
        slideClosed('typetext');
    }

}

另外,您应该将
高度
转换
移动到CSS

(x、y轴必须完全相同,否则函数将提交结果)连一个像素都没有?你知道这有多难吗?好吧,你已经说了你想做什么。你做这件事有什么具体问题?我想从一次点击而不是两次点击关闭搜索框。或者向我解释为什么它会这样,为什么你必须在同一个地方按两次