【发布时间】:2015-10-30 04:52:16
【问题描述】:
我有一个搜索表单,我需要输入文本开始隐藏,并使用名为 search 的按钮显示输入,当显示输入时,名为 search 的按钮转换为关闭按钮以再次隐藏输入文本。 我的问题是,当输入文本被隐藏时,按钮会移动到我网站的中心。我需要留在搜索框旁边。
这是我的代码:
<div class="main-search-continer">
<form action="/content/testing.html">
<input class="inputSearch" size="41" maxlength="2048" name="q" value="">
<button type="button" class="js-btn-toggle_search">X Close</button>
</form>
<div class="clear"></div>
</div>
JS:
$(document).on("click", "button.js-btn-toggle_search", function(){
var $btn = $(this)
$("input.inputSearch").toggle(0, '', function() {
if($(this).is(":visible")) {
$btn.text("X Close")
} else {
$btn.text("Search")
}
})
})
我的 CSS 很简单:
input.inputSearch {
font-size: 30px;
width: 65%;
margin: 0 auto;
color: #939497;
font-weight: 300;
display:none;
}
div.main-search-continer {
width: 100%;
}
fiddle 可以查看行为。
【问题讨论】:
-
你能提供你的css吗?
-
简单的方法是将不透明度设置为0而不是隐藏它,这样它会被隐藏但仍然占用页面空间。
-
CSS:
.main-search-continer{width: 390px;} .js-btn-toggle_search{float:right;}是一种选择。 -
正如我提到的使用可见性。 “即使是不可见元素也会占用页面空间。使用 display 属性创建不占用空间的不可见元素!”
标签: javascript jquery html css opacity