首頁  >  文章  >  web前端  >  如何使用JS+CSS3實現圖片響應滑鼠移動放大縮小

如何使用JS+CSS3實現圖片響應滑鼠移動放大縮小

php中世界最好的语言
php中世界最好的语言原創
2018-06-01 11:12:012237瀏覽

這次帶給大家如何使用JS CSS3實現圖片響應滑鼠移動放大縮小,使用JS CSS3實現圖片響應滑鼠移動放大縮小的注意事項有哪些,下面就是實戰案例,一起來看一下。

今天看網易的網站上,當我把滑鼠放上去的時候發現圖片放大,移開圖片縮小,於是自行嘗試,結果如下。

方法一:使用js與css3

#效果如圖:

這樣的實作非常簡單,就是利用js的mouseovermouseout事件,但不知道如何讓圖片從中間放大,日後再行嘗試吧,程式碼如下:

<!DOCTYPE html>
<html>
<head>
  <title>网易图片动画</title>
  <style>
    p.img {
      width: 220px;
      height: 170px;
      margin: 200px auto;
      overflow: hidden;
    }
    img.bigger {
      width: 100%;
      height:100%;
    }
    @keyframes bigger {
      from {width: 100%;height: 100%;}
      to {width: 110%; height: 110%;}
    }
    @keyframes smaller {
      from {width: 110%;height: 110%;}
      to {width: 100%; height: 100%;}
    }
  </style>
</head>
<body>
  <p class="img">
    <img class="bigger" src="http://cms-bucket.nosdn.127.net/d9b6afa0bad743f88c1780c3a064202c20170218074455.jpeg?imageView&thumbnail=185y116&quality=85" alt="">
  </p>
  <script>
    var img = document.querySelector("img");
    img.onmouseover = function () {
      img.style.cssText = "animation: bigger 2s;width:110%; height:110%;";
    }
    img.onmouseout = function () {
      img.style.cssText = "animation: smaller 2s";
    }
  </script>
</body>
</html>

方法二:使用css3方法

css3的確為我們帶來了許多好處,是我們處理問題更方便。這裡使用transform:scale();即可實現,但是這個要結合hover來使用,並且設定好transition的時長才有更好的效果,話不多說效果如下:

這個效果是不是好了很多呢,可以看到它本身就是從中心開始擴大的。
但是只要我們加上transform-origin屬性就可以很好地控制變化的中心點了,如:

transform-origin: 0 0;
transform-origin: 100% 0;
transform-origin: 0 100%;
transform-origin: 100% 100%;

分別表示從左上角、右上角、左下角、右下角擴張,可想而知,預設的transform-origin為50% 50%.

原始碼如下:

<!DOCTYPE html>
<html>
<head>
  <title>网易图片动画</title>
  <style>
    p.img {
      width: 220px;
      height: 170px;
      margin: 200px auto;
      overflow: hidden;
    }
    img.bigger {
      width: 100%;
      height:100%;
      transition:transform 2s;
    }
    img.bigger:hover{
      transform: scale(1.2,1.2);
    }
  </style>
</head>
<body>
  <p class="img">
    <img class="bigger" src="http://cms-bucket.nosdn.127.net/d9b6afa0bad743f88c1780c3a064202c20170218074455.jpeg?imageView&thumbnail=185y116&quality=85" alt="">
  </p>
</body>
</html>

相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!

推薦閱讀:

jQuery.i18n實作前端國際化有哪些方法

怎麼使用jQuery.i18n.properties讓JS程式碼國際化

#

以上是如何使用JS+CSS3實現圖片響應滑鼠移動放大縮小的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn