Javascript nt大小:1.8rem; 大纲:0; 过渡时间:0.3s; 过渡性质:全部; 光标:指针; 最大宽度:21px; 保证金:0; 填充:0; } 是否有必要#搜索包装隐藏?如果我删除此属性-一切似乎都很好。@Smollet777你抓住了要点,我也删除了我的

Javascript nt大小:1.8rem; 大纲:0; 过渡时间:0.3s; 过渡性质:全部; 光标:指针; 最大宽度:21px; 保证金:0; 填充:0; } 是否有必要#搜索包装隐藏?如果我删除此属性-一切似乎都很好。@Smollet777你抓住了要点,我也删除了我的,javascript,jquery,html,Javascript,Jquery,Html,nt大小:1.8rem; 大纲:0; 过渡时间:0.3s; 过渡性质:全部; 光标:指针; 最大宽度:21px; 保证金:0; 填充:0; } 是否有必要#搜索包装隐藏?如果我删除此属性-一切似乎都很好。@Smollet777你抓住了要点,我也删除了我的答案(基于setTimeout),因为这是一个肮脏的修复程序,无法解决问题根或解决好的编程模式。为什么你认为setTimeout()在这种情况下是一个不好的做法?而不是使用display:none来扮演这个角色?@ZakariaAcharki只

nt大小:1.8rem; 大纲:0; 过渡时间:0.3s; 过渡性质:全部; 光标:指针; 最大宽度:21px; 保证金:0; 填充:0; }


是否有必要
#搜索包装
隐藏?如果我删除此属性-一切似乎都很好。@Smollet777你抓住了要点,我也删除了我的答案(基于setTimeout),因为这是一个肮脏的修复程序,无法解决问题根或解决好的编程模式。为什么你认为
setTimeout()
在这种情况下是一个不好的做法?而不是使用display:none来扮演这个角色?@ZakariaAcharki只是因为我们不能确定客户的互联网速度/计算能力。延迟可能不够。当作者已经使用
opacity:0时,基于将
display:none
更改为不透明度或可见性的解决方案将被隐藏;可见性:隐藏!!!你能给我们一把工作小提琴吗?对不起,我的错误,可见性也会妨碍焦点,所以屏幕外的黑客操作不会改变可见性。@ZakariaAcharki toggleClass并不总是占用相同的时间。事实上,jquery提供了在处理这些方法时使用的承诺。此外,setTimeout不保证实时执行延迟,因为在另一个答案下面的另一条注释中,toggleClass和setTimeout都没有您可以依赖的实时时间。使用屏幕外元素或jquery承诺($(“#myId”).toggleClass('fadeOut',600).promise().done(…mymethod)是如此的干净和高效solid@MosèRaguzzini感谢您的干预,
.promise()
需要jQuery UI我不想在这里提出建议,您可以发布一个很酷的工作答案。
setTimeout(function() {
    $('#search-input').focus();
}, 100);