Javascript、html和css创建覆盖
我现在被以下问题困扰了一段时间。我创建了一个包含覆盖图的网站。覆盖层放置在html中,如下所示Javascript、html和css创建覆盖,javascript,asp.net,html,css,forms,Javascript,Asp.net,Html,Css,Forms,我现在被以下问题困扰了一段时间。我创建了一个包含覆盖图的网站。覆盖层放置在html中,如下所示 <html> <body> <div id="overlay"></div> <div id="wrapper"> <!--More html - snipped--> <div id="search"> <form method="post
<html>
<body>
<div id="overlay"></div>
<div id="wrapper">
<!--More html - snipped-->
<div id="search">
<form method="post" action="Default.aspx?id=999" id="searchForm">
<label for="searchInput">Your searchcriteria:</label>
<input type="text" id="searchInput" />
</form>
</div>
<!--More html - snipped-->
</div>
</html>
当用户单击菜单项打开搜索窗口时,将执行以下javascript代码。javascript只是一个概念,但它是有效的
function showSearchBar() {
//Check if search bar is shown, if it is hide it, otherwise show it.
var isVisible = $("#search").is(":visible");
if (isVisible) {
//Hide the div
$("#search").fadeOut(600);
//hide the overlay
$("#overlay").hide();
}
else {
//Show the overlay
$("#overlay").show();
//Show the hidden div
$("#search").fadeIn(600);
//$("input#searchInput").watermark("Enter your criteria");
}
}
这里的问题是,每当执行javascript时,覆盖都会被放置在页面顶部,从而禁用页面上的所有其他元素,包括searchform。我希望用户可以使用searchform,因此它应该位于覆盖层的顶部。这可能是一个很小的问题,但我看不出这里有什么问题。是什么导致覆盖被放置在searchform上而不是searchform位于覆盖之上?问题已解决。我修改了html,使其看起来像这样
<html>
<body>
<div id="search">
<form method="post" action="Default.aspx?id=999" id="searchForm">
<label for="searchInput">Your searchcriteria:</label>
<input type="text" id="searchInput" />
</form>
</div>
<div id="overlay"></div>
<div id="wrapper">
<!--More html - snipped-->
</div>
</html>
您的搜索条件:
这是必要的,因为包装器有自己的z索引,并且是相对定位的。通过将div#search作为主体中的第一个元素,我确信它位于所有其他元素之上,因为它的绝对位置。移动html元素解决了我的问题。欢迎提出其他改进建议
<html>
<body>
<div id="search">
<form method="post" action="Default.aspx?id=999" id="searchForm">
<label for="searchInput">Your searchcriteria:</label>
<input type="text" id="searchInput" />
</form>
</div>
<div id="overlay"></div>
<div id="wrapper">
<!--More html - snipped-->
</div>
</html>