简体   繁体   English

jQuery切换动作,动画功能会影响搜索图标的高度

[英]Jquery toggle action for animate function effects height of search icon

I am creating a search field with the click function (animate) but as you can see from this example: https://www.ve.com/search when you click on the search icon it moves up and down and I am not sure why this is happening. 我正在创建带有点击功能(动画)的搜索字段,但是从此示例中可以看到: https : //www.ve.com/search,当您单击搜索图标时,它会上下移动,我不确定为什么会这样。

I am sure it is something very simple but not sure what it is I am doing wrong. 我确定这很简单,但不确定我做错了什么。

Code below: 代码如下:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <script>
        $(document).ready(function(){
            $("button").click(function(){
                $(".hs-search-field__bar").animate({width: "toggle"});
                  if ($(".hs-search-field__bar").is(':visible'))
                $(".hs-search-field__bar").css('display','inline-block');
            });  
        });
    </script>
<div class="search-separator"> 
    <div class="hs-search-field"> 
        <div class="hs-search-field__bar" style="display:none;" > 
          <form action="/{{ site_settings.content_search_results_page_path }}">
            <input type="search" class="hs-search-field__input" name="term" autocomplete="off" placeholder="{{ module.placeholder }}">
          </form>
        </div>
        <button class="search-button"> <i class="fa fa-search"></i></button>
    </div>
</div>

As Michael pointed out, during the animation there is an overflow: hidden ; 正如Michael所指出的,在动画制作过程中有一个overflow: hidden

WORKAROUND 解决方法

Don't use jQuery animations. 不要使用jQuery动画。

Animate via CSS instead 通过CSS制作动画

<div class="hs-search-field__bar">
  ...
</div>


$(".search-button").on("click", function(){
    $(".hs-search-field__bar").toogleClass("show");
});

CSS 的CSS

.hs-search-field__bar{
    width: 0;
    overflow:hidden;
    -webkit-transition: width 1s ease-in-out;
    -moz-transition: width 1s ease-in-out;
    -o-transition: width 1s ease-in-out;
    transition: width 1s ease-in-out;
}

.hs-search-field__bar.show{
    width:auto; /* or some width you want, including 100% */
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM