鼠标滑入 3D倾斜效果

2017-11-01  本文已影响0人  Coldhands

有去过锤子科技的官网嘛?锤子官网的banner轮播是有一个3D倾斜效果的,看起来着实炫酷。
想看效果就戳进来吧!http://www.smartisan.com/#/shop

自己也常识撸了一段效果代码:

 *{
    margin: 0;
    padding: 0;
  }

  body{
    padding-top: 40px;
  }

  div#banner-wrap{
    width: 1100px;
    height: 500px;
    margin: 0 auto;
    background: white;
    perspective: 1000px;
  }

  #banner{
    width: 1100px;
    height: 500px;
    color: #fff;
    margin: 0 auto;
    font-size: 50px;
    text-align: center;
    line-height: 500px;
    border-radius: 15px;
    background: #9393FF;
    transition: transform 0.2s linear;
    box-shadow: 0 0 15px rgba(0,0,0,0.25);
  }
<div id="banner-wrap">
    <div id="banner">3D倾斜</div>
</div>
<script src="https://code.jquery.com/jquery-3.1.0.js"></script>
<script type="text/javascript">

        $('#banner-wrap').on('mousemove', function(e){

            var offset = $(this).offset();

            var x = e.pageX - offset.left,
                y = e.pageY - offset.top;

            var centerX = $(this).outerWidth() / 2,
                centerY = $(this).outerHeight() / 2;

            var deltaX = x - centerX,
                deltaY = y - centerY;

            var percentX = deltaX / centerX,
                percentY = deltaY / centerY;

            var deg = 3;

            $('#banner').css({
                'transform' : 'rotateX(' + deg * (-percentY) + 'deg)' + 
                'rotateY(' + deg * percentX + 'deg)'
                })
            })

            $('#banner-wrap').on('mouseleave', function(){
                $('#banner').css({
                    'transform' : ''
                })
            })
</script>

效果自己撸完代码看吧!

上一篇下一篇

猜你喜欢

热点阅读