Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jquery在切换类之前设置z索引_Jquery_Css - Fatal编程技术网

jquery在切换类之前设置z索引

jquery在切换类之前设置z索引,jquery,css,Jquery,Css,要为函数生成概念证明,请忽略可怕的命名约定!;-) 我这里有一个问题 我试图达到的效果是:- 用户按下按钮,输入表单从按钮后面“滑出” 用户再次按下按钮,表单在按钮后面“向后滑动” 此小提琴正在工作,但更改z索引后仅延迟750ms 为什么会这样?是否有文件证明z-index不立即更改的原因 注意:我包括jQueryUI以允许toggleClass上的完成函数。这会影响它吗 谢谢这可能是回流问题。延迟工作的原因是在z-index更新和.toggleClass()调用之间没有重新呈现页面。如果z索引

要为函数生成概念证明,请忽略可怕的命名约定!;-)

我这里有一个问题

我试图达到的效果是:- 用户按下按钮,输入表单从按钮后面“滑出” 用户再次按下按钮,表单在按钮后面“向后滑动”

此小提琴正在工作,但更改z索引后仅延迟750ms

为什么会这样?是否有文件证明z-index不立即更改的原因

注意:我包括jQueryUI以允许toggleClass上的完成函数。这会影响它吗


谢谢

这可能是回流问题。延迟工作的原因是在
z-index
更新和
.toggleClass()
调用之间没有重新呈现页面。如果z索引要在类切换之前生效,则必须是

您可以将
.delay()
更改为

$('#SearchForm_1').height();
height()。这可能是一个问题,因为多次频繁回流会导致“布局抖动”。但在这种情况下,这是一个有用的技巧,因为回流将有助于设置
z-index


<style>
.srchFrm {
     float: left;
     left: -87px;
     position: relative;
     top: -32px;
     z-index: -5;
}
.showfrm {
    left: 96px;
    margin: 0 !important;
    position: relative;
    top: -32px;
    transition: all 0.5s linear 0s;
    width: 300px;
 }
 .btn.btn-success {
    border: 1px solid #FF0000;
    float: left;
    padding: 10px;
    position: relative;
    z-index: 5;
 }
 .search {
   background-color: #F0F0F0;
    border: 1px solid #DDDDDD;
   height: 51px;
   left: 10px;
   overflow: hidden;
   padding: 4px 4px 4px 0;
   position: relative;
   transition: all 0.5s linear 0s;
   width: 392px;
   z-index: 10;
}

 </style>
 <script>
   $(document).ready(function () {
     $('#commission_1').on('click', function () {
    $('#SearchForm_1').toggleClass("showfrm");
   });
  });

   </script>
   <body>
    <h1>Hello, world!</h1>

     <div class="search">
       <button type="button" class="btn btn-success" id="commission_1">Commission</button>
       <form action="#" name="SearchForm" method="get" id="SearchForm_1" class="srchFrm">
      <input type="text" name="s" maxlength="64" id="SearchForm" value="" class="text-comm-email" />
    <input type="button" value="Go" />
    </form>
  </div>
  </body>
.srchFrm{ 浮动:左; 左-87px; 位置:相对位置; 顶部:-32px; z指数:-5; } .showfrm{ 左:96px; 边距:0!重要; 位置:相对位置; 顶部:-32px; 过渡:所有0.5s线性0; 宽度:300px; } .btn.btn-success{ 边框:1px实心#FF0000; 浮动:左; 填充:10px; 位置:相对位置; z指数:5; } .搜索{ 背景色:#f0; 边框:1px实心#DDDDDD; 高度:51px; 左:10px; 溢出:隐藏; 填充:4×4×4×0; 位置:相对位置; 过渡:所有0.5s线性0; 宽度:392px; z指数:10; } $(文档).ready(函数(){ $('#佣金1')。在('单击',函数(){ $('SearchForm_1')。toggleClass(“showfrm”); }); }); 你好,世界! 委员会
我不确定您想要实现什么,但如果您想让输入字段从后面出现,请立即将css转换设置从1s更改为0s(或其他任何设置),并添加z-index:-1;为了确保输入从后面滑出。我不明白为什么要更改z索引,据我所知,表单应该始终位于按钮下方,所以为什么不让按钮的z索引值高于表单?设置表单的z索引会将其置于包含div的后面。。。这就是为什么我一开始就想改变它!这是你想要的吗?Vickel,这是我想要的效果,但文本框只能在底部边缘选择。这就是为什么我要更改z索引。谢谢,但这仍然不起作用。听起来“强制回流”应该是我的下一个谷歌搜索。谢谢,这看起来不错,更简单的表单流,但是。。。这只是一个过渡,我如何才能让它滑回?这里是一个链接,我的最终版本是根据您的版本在这里感谢fro把我放在正确的道路上
<style>
.srchFrm {
     float: left;
     left: -87px;
     position: relative;
     top: -32px;
     z-index: -5;
}
.showfrm {
    left: 96px;
    margin: 0 !important;
    position: relative;
    top: -32px;
    transition: all 0.5s linear 0s;
    width: 300px;
 }
 .btn.btn-success {
    border: 1px solid #FF0000;
    float: left;
    padding: 10px;
    position: relative;
    z-index: 5;
 }
 .search {
   background-color: #F0F0F0;
    border: 1px solid #DDDDDD;
   height: 51px;
   left: 10px;
   overflow: hidden;
   padding: 4px 4px 4px 0;
   position: relative;
   transition: all 0.5s linear 0s;
   width: 392px;
   z-index: 10;
}

 </style>
 <script>
   $(document).ready(function () {
     $('#commission_1').on('click', function () {
    $('#SearchForm_1').toggleClass("showfrm");
   });
  });

   </script>
   <body>
    <h1>Hello, world!</h1>

     <div class="search">
       <button type="button" class="btn btn-success" id="commission_1">Commission</button>
       <form action="#" name="SearchForm" method="get" id="SearchForm_1" class="srchFrm">
      <input type="text" name="s" maxlength="64" id="SearchForm" value="" class="text-comm-email" />
    <input type="button" value="Go" />
    </form>
  </div>
  </body>