使用 jQuery 在搜索框中输入动画文本

Posted

技术标签:

【中文标题】使用 jQuery 在搜索框中输入动画文本【英文标题】:Animated text input in search box with jQuery 【发布时间】:2013-07-12 14:37:22 【问题描述】:

我希望当您单击文本框时它的大小已扩大。这是http://jsfiddle.net/62CDp/的解决方案

这个 jQuery 代码:

$(function() 
    $("#s").focus(function()
        $(this).animate( width:"250px", 'slow');
    ).blur(function()
        $(this).animate( width:"151px", 'slow');
    );
);

一切似乎都很好,但在我的网站 (http://iamlex.ru/bookmarks/) 上,当您单击文本框时,随后文本框移动,按钮本身移动。 请告诉我,可能是什么问题..

附:对不起我的英语不好。

【问题讨论】:

这是分配给搜索框和按钮的宽度问题。 【参考方案1】:

您的输入正在从 display:inline 切换到 display:block,然后又返回。 display:block 将按钮放到下一行,容器增长,所以提交按钮移动。然后它切换回内联并按预期呈现。

jQuery 的 animate() 将元素转换为块。这是另一个关于替代动画的问题:Animating inline elements with jQuery

【讨论】:

现在一切都清楚了,但我决定只更改显示的值以及如何使事情正常工作。【参考方案2】:

向#s 元素添加CSS 以强制显示内联。这将解决问题:

#s  display: inline!important;

【讨论】:

【参考方案3】:

如果您想要简单的解决方案,只需用 <div style="float: left;"> 包装两个输入即可。这样它应该可以工作。

【讨论】:

以上是关于使用 jQuery 在搜索框中输入动画文本的主要内容,如果未能解决你的问题,请参考以下文章

如何在数据表中的搜索框中输入值

MFC中在指定的文档搜索 输入框中的指定内容并显示到指定的文本框中的按钮代码该怎么写啊?在线等

从文本框中删除自动搜索并在搜索按钮上搜索

如果文本框中没有文本,jQuery 自动完成返回空列表

如何从html中的文本框中清除搜索输入? [复制]

在搜索文本框中输入日期值时如何避免 ajax 错误?