Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.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
Javascript 使用动画移动div_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript 使用动画移动div

Javascript 使用动画移动div,javascript,jquery,html,css,Javascript,Jquery,Html,Css,在以下代码中,默认情况下隐藏.logo。我想在滚动上显示它,因此当它出现时,我想通过一些动画将向右移动(例如向右滑动)。如果您看到演示,您可以看到当徽标出现或消失时,会以非常糟糕的方式改变其位置,我希望使其更加平滑 如何做到这一点 HTML: <div class="header"> <div class="logo"><img src="http://i.imgur.com/C0ZR4RK.png" /></div> <ul

在以下代码中,默认情况下隐藏.logo。我想在滚动上显示它,因此当它出现时,我想通过一些动画将
向右移动(例如向右滑动)。如果您看到演示,您可以看到当徽标出现或消失时,
会以非常糟糕的方式改变其位置,我希望使其更加平滑

如何做到这一点

HTML:

<div class="header">
    <div class="logo"><img src="http://i.imgur.com/C0ZR4RK.png" /></div>
    <ul class="list">
        <li>Lorem ipsum</li>
        <li>dolor sit amet</li>
        <li>consectetur.</li>
    </ul>
</div>
$(function() {
    var shrinkHeader = 300;
    $(".logo").hide();
    $(window).scroll(function() {
        var scroll = getCurrentScroll();
        if (scroll >= shrinkHeader) {
            $('.header').addClass('shrink');
            $(".logo").fadeIn("slow");
        } else {
            $('.header').removeClass('shrink');
            $(".logo").fadeOut("slow");
        }
    });

    function getCurrentScroll() {
        return window.pageYOffset || document.documentElement.scrollTop;
    }

});
演示:
如果这对你有帮助,试试看

.list{
位置:绝对位置;
左:0;
排名:0;
过渡:所有500ms;
}
.header.shrink.list{
左:200px;

}
对要设置动画的文本使用
绝对定位。然后给它一个你想要的初始位置和一个它应该缩小的位置:

            ul {
                list-style: none;
                font-size: 22px;
                position:absolute;
                top:5px;
                left:10px;
                transition:all .3s;
            }

            .shrink ul{
                left:200px;
                top:10px;
            }

演示:

我想这会对您有所帮助。谢谢

 $(function(){
 var shrinkHeader = 300;
    $( ".logo" ).hide();
  $(window).scroll(function() {
    var scroll = getCurrentScroll();
      if ( scroll >= shrinkHeader ) {                                
          $('.header').addClass('shrink');
          $( ".logo" ).show();
        }
        else {
            $('.header').removeClass('shrink');
            $( ".logo" ).hide();
        }
  });

function getCurrentScroll() {
    return window.pageYOffset || document.documentElement.scrollTop;
    }

});
使用此代码

ul {
            list-style: none;
            font-size: 22px;
            position:absolute;
            top:5px;
            left:10px;
            -webkit-transition: all 0.4s ease;
            -moz-transition: all 0.4s ease;
            -ms-transition: all 0.4s ease;
             -o-transition: all 0.4s ease;
              transition: all 0.4s ease;
        }

        .shrink ul{
            left:200px;
            top:10px;
        }