我已經創建了一個擴展搜索欄:單擊放大鏡輸入擴展到右側,再次單擊它並關閉。 (見下面的小提琴)。JavaScript邏輯擴展搜索欄
我是新來的JS的世界,我認爲這將是一個很好的機會來實現一些邏輯。以下是我嘗試去做的:
- 如果搜索欄打開並且inner.html爲空,如果您單擊「搜索」放大鏡,我想阻止默認提交表單和只需關閉搜索欄
- 如果有文本,我希望提交表單。
現在,我已經有了這樣一種方式分層的元素,當您第一次單擊「搜索」按鈕時,條形會延伸,按鈕的z索引將下降到實際提交按鈕更高,但我想更多地控制功能。
我嘗試什麼:
我試圖創建添加一個事件監聽器,所述的功能,基本上,如果杆具有700像素的寬度(延伸長度)和所述內HTML是空的,將擴展按鈕的z索引恢復得比提交簡單地關閉表單更高。但我似乎無法正確處理邏輯。
我想知道如何在JS中,你可以控制Z指數。
這是我嘗試過的代碼,但沒有工作。我嘗試了一些東西,只是簡單地提醒我什麼時候我想要看的任務是先完成的,但似乎沒有工作。
任何幫助將是美好的。
代碼:
HTML:
<div id="wrap">
<form id="myForm">
<input id="search" name="search" type="text" placeholder="What are we looking for?" />
<input id="search_submit" value="" type="submit">
</form>
</div>
CSS:
#wrap
{
margin: 50px 100px;
display: inline-block;
position: relative;
height: 60px;
float: right;
padding: 0;
}
input[type="text"]
{
height: 40px;
font-size: 35px;
border: none;
outline: none;
color: #555;
padding-right: 60px;
position: absolute;
width: 0px;
top: 0;
right: 0;
background: none;
z-index: 4;
cursor: pointer;
transition: width .4s ease-in-out;
}
input[type="text"]:focus
{
width: 700px;
z-index: 1;
border-bottom: 1px solid #bbb;
cursor: text;
}
input[type="submit"]
{
position: absolute;
height: 60px;
width: 60px;
display: inline-block;
float: right;
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAADNQTFRFU1NT9fX1lJSUXl5e1dXVfn5+c3Nz6urqv7+/tLS0iYmJqampn5+fysrK39/faWlp////Vi4ZywAAABF0Uk5T/////////////////////wAlrZliAAABLklEQVR42rSWWRbDIAhFHeOUtN3/ags1zaA4cHrKZ8JFRHwoXkwTvwGP1Qo0bYObAPwiLmbNAHBWFBZlD9j0JxflDViIObNHG/Do8PRHTJk0TezAhv7qloK0JJEBh+F8+U/hopIELOWfiZUCDOZD1RADOQKA75oq4cvVkcT+OdHnqqpQCITWAjnWVgGQUWz12lJuGwGoaWgBKzRVBcCypgUkOAoWgBX/L0CmxN40u6xwcIJ1cOzWYDffp3axsQOyvdkXiH9FKRFwPRHYZUaXMgPLeiW7QhbDRciyLXJaKheCuLbiVoqx1DVRyH26yb0hsuoOFEPsoz+BVE0MRlZNjGZcRQyHYkmMp2hBTIzdkzCTc/pLqOnBrk7/yZdAOq/q5NPBH1f7x7fGP4C3AAMAQrhzX9zhcGsAAAAASUVORK5CYII=) center center no-repeat;
border: none;
outline:none;
top: -15px;
right: 0;
z-index: 2;
cursor: pointer;
transition: all .4s ease;
}
JS
var search = document.getElementById("myForm").search;
var search_submit = document.getElementById("myForm").search_submit;
function showOpen()
{
if(search.style.width=="700px")
{
alert("OPEN!");
}
};
search.addEventListener("click", showOpen);
showOpen();
這裏是FIDDLE:https://jsfiddle.net/theodore_steiner/7begmkf3/37/
你能張貼您的小提琴?我已經嘗試重新創建,而且我沒有看到第一次點擊放大鏡時的效果,「該條擴展並且按鈕的z索引下降到了實際提交按鈕更高的位置。」您只有兩個輸入,即文本欄和放大鏡,並且沒有JavaScript,您可以在其中更改元素的Z-index。 – sahilkmr78
對不起,這裏是小提琴:https://jsfiddle.net/theodore_steiner/7begmkf3/37/ –