【问题标题】:Disable page content禁用页面内容
【发布时间】:2016-11-10 16:38:46
【问题描述】:

我的搜索文本框位于标题中。在文本框中输入时,我想禁用页面的其余部分(标题除外)。该页面应该是灰色的。有两个单独的 div:标题和主。主 div 包含几个子 div 来构造内容。

我怎样才能做到这一点?

【问题讨论】:

标签: javascript jquery css


【解决方案1】:

是的,您可以使用 css 属性来做到这一点。

$("#text1").keydown(function() {
$(".main").css({
    "text-indent": "-9999px",
    "background-color": "gray"
})
});

$("#text1").focusout(function() {
$(".main").css({
    "text-indent": "0px",
    "background-color": "red"
    
})
});
.header {
    width: 100%;
    height: 50px;
    background-color: blue;
}

.main {
    width: 100%;
    height: 450px;
    background-color: red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="header">
    <input type="text" id="text1">
</div>

<div class="main">Content that is going to hide when textbox is changed</div>

希望对你有帮助:)

【讨论】:

  • 专注于它主 div 不出现
【解决方案2】:

@Thinker 解决方案很好(尽管我不确定使用"text-indent": "-9999px" 是否是一个好习惯)。另一种选择是在主 div 上添加另一个 div 并使用不透明度设置来获得合适的结果。请记住,虽然作为主 div 的父级,但需要一个容器 div,请查看演示:

$("#text1").keydown(function() {
    $(".main").append('<div class="overlay"></div>');
});
.header {
    width: 100%;
    height: 50px;
    background-color: blue;
}

.main {
    width: 100%;
    height: 450px;
    background-color: red;
}
.container{
  position:relative;
}
.overlay{
  width:100%;
  height:100%;
  background-color:grey;
  position:absolute;
  top:0px;
  left:0px;
  opacity:0.8;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="header">
    <input type="text" id="text1">
</div>

<div class="container">
  <div class="main">Content that is going to hide when textbox is changed</div>
</div>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-02-25
    • 1970-01-01
    • 2013-04-27
    • 1970-01-01
    • 1970-01-01
    • 2019-11-13
    • 2014-02-16
    相关资源
    最近更新 更多