You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

jQuery实现input输入框聚焦失焦时边框CSS动画过渡效果问题求助

问题原因

你当前代码无法实现边框平滑过渡效果,核心有三个问题:

  • 未给input设置初始边框属性,浏览器自带的默认边框没有可过渡的初始状态,无法实现渐变效果
  • transition属性需要提前定义在元素的基础样式中,你在触发focus事件时才动态添加过渡属性,不会生效
  • jQuery的css()方法多属性传参语法错误,多个样式属性需要传入键值对对象,不能直接用逗号分隔参数
最优实现方案(纯CSS,无需JS)

这个需求直接用CSS原生的:focus伪类就能实现,性能比JS实现更好:

HTML代码

<input type="text" id="search-input" placeholder="Search..">

CSS代码

#search-input{
  width:150px;
  height:20px;
  background-color: #f3f3f3;
  font-size:16px;
  /* 定义初始边框和过渡属性 */
  border: 2px solid transparent;
  transition: border-color 0.2s ease;
}
#search-input:focus{
  outline:none;
  /* 聚焦时仅修改边框颜色,自动触发过渡动画 */
  border-color: #f27a1a;
}
修正后的jQuery实现方案

如果确实需要通过JS控制,修改后代码如下:

CSS代码

#search-input{
  width:150px;
  height:20px;
  background-color: #f3f3f3;
  font-size:16px;
  /* 提前定义初始边框和过渡属性 */
  border: 2px solid transparent;
  transition: border-color 0.2s ease;
}
#search-input:focus{
  outline:none
}

jQuery代码

jQuery('#search-input').on('focus',function(){
  jQuery(this).css('border-color', '#f27a1a');
}).on('focusout',function(){
  jQuery(this).css('border-color', 'transparent');
});

内容的提问来源于stack exchange,提问作者Ferhat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 18:30:04