如何创建类似 Facebook 或 WhatsApp 的搜索框? (移动的)
how can I create a search box like Facebook's or WhatsApp's? (Mobile)
有没有办法手动做到这一点?我试图使用 Ionic Framework
,他们为此使用了 attribute
,但现在已弃用。
Facebook's/WhatsApp 的搜索框我的意思是:
1 - 乍一看隐藏
2 - 想看就得下拉
3 - 一旦你关注它,它就会延伸到屏幕顶部并与 header
重叠
4 - 有一个 X 按钮,用于删除搜索框的内容,另一个名为 "Cancel" 的按钮用于关闭搜索框。
很确定每个人都已经注意到了这种行为。
那么,实现它的技术是什么?
我正在使用 Angular 所以我不知道是否有办法执行指令,或者只使用 css ?你有什么建议?
要了解所有内容对我来说太费时了。但如果您熟悉 css3.
中的“转换”,就不那么困难了
这是一个"lite version"
var searchbox={
topPos_open:0, topPos_close:-50, isOpen:false,
open:function(){
var box=document.getElementById("searchbox");
box.style.top=this.topPos_open+"px";
document.getElementById("searchfield").focus();
this.isOpen=true;
},
close:function(){
var box=document.getElementById("searchbox");
box.style.top=this.topPos_close+"px";
this.isOpen=false;
},
pop:function(){
!this.isOpen?this.open():this.close();
},
clear:function(){
document.getElementById("searchfield").value="";
}
}
#searchbox{position:fixed; top:-50px; left:0px; width:100%; height:60px; background-color:rgba(135, 206, 235, 1); -webkit-transition:top 0.5s ease 0s; -moz-transition:top 0.5s ease 0s; transition:top 0.5s ease 0s;}
#searchbox input{border:0px none; margin:0px 10px 0px 10px; padding:0px; width:80%; font-size:20px;}
#searchbox #input{float:left; background-color:rgba(255, 255, 255, 1); border:1px solid #dddddd; border-radius:20px; margin:5px; padding:5px; width:70%; min-width:250px;}
#searchbox #close{float:right; padding:10px:}
#searchbox button{border:0px none; background-color:transparent; font-size:20px; cursor:pointer;}
#searchbox #dots{clear:both; text-align:center; font-size:25px; cursor:pointer;}
<div id="searchbox">
<div id="input">
<input type="text" id="searchfield" value="">
<button type="button" onclick="searchbox.clear()">
X
</button>
</div>
<div id="close">
<button type="button" onclick="searchbox.close()">
Cancel
</button></div>
<div id="dots" onclick="searchbox.pop()">
......
</div>
</div>
<br>
<br>
<br>
<br>
Click the dots
有没有办法手动做到这一点?我试图使用 Ionic Framework
,他们为此使用了 attribute
,但现在已弃用。
Facebook's/WhatsApp 的搜索框我的意思是:
1 - 乍一看隐藏
2 - 想看就得下拉
3 - 一旦你关注它,它就会延伸到屏幕顶部并与 header
重叠4 - 有一个 X 按钮,用于删除搜索框的内容,另一个名为 "Cancel" 的按钮用于关闭搜索框。
很确定每个人都已经注意到了这种行为。
那么,实现它的技术是什么?
我正在使用 Angular 所以我不知道是否有办法执行指令,或者只使用 css ?你有什么建议?
要了解所有内容对我来说太费时了。但如果您熟悉 css3.
中的“转换”,就不那么困难了这是一个"lite version"
var searchbox={
topPos_open:0, topPos_close:-50, isOpen:false,
open:function(){
var box=document.getElementById("searchbox");
box.style.top=this.topPos_open+"px";
document.getElementById("searchfield").focus();
this.isOpen=true;
},
close:function(){
var box=document.getElementById("searchbox");
box.style.top=this.topPos_close+"px";
this.isOpen=false;
},
pop:function(){
!this.isOpen?this.open():this.close();
},
clear:function(){
document.getElementById("searchfield").value="";
}
}
#searchbox{position:fixed; top:-50px; left:0px; width:100%; height:60px; background-color:rgba(135, 206, 235, 1); -webkit-transition:top 0.5s ease 0s; -moz-transition:top 0.5s ease 0s; transition:top 0.5s ease 0s;}
#searchbox input{border:0px none; margin:0px 10px 0px 10px; padding:0px; width:80%; font-size:20px;}
#searchbox #input{float:left; background-color:rgba(255, 255, 255, 1); border:1px solid #dddddd; border-radius:20px; margin:5px; padding:5px; width:70%; min-width:250px;}
#searchbox #close{float:right; padding:10px:}
#searchbox button{border:0px none; background-color:transparent; font-size:20px; cursor:pointer;}
#searchbox #dots{clear:both; text-align:center; font-size:25px; cursor:pointer;}
<div id="searchbox">
<div id="input">
<input type="text" id="searchfield" value="">
<button type="button" onclick="searchbox.clear()">
X
</button>
</div>
<div id="close">
<button type="button" onclick="searchbox.close()">
Cancel
</button></div>
<div id="dots" onclick="searchbox.pop()">
......
</div>
</div>
<br>
<br>
<br>
<br>
Click the dots