JS与CSS3实现图片响应鼠标移动放大效果示例


Posted in Javascript onMay 04, 2018

本文实例讲述了JS与CSS3实现图片响应鼠标移动放大效果。分享给大家供大家参考,具体如下:

今天看网易的网站上,当我把鼠标放上去的时候发现图片放大,移开图片缩小,于是自行尝试,结果如下。

方法一:使用js和css3

效果如图:

JS与CSS3实现图片响应鼠标移动放大效果示例

这样的实现非常简单,就是利用js的mouseovermouseout事件,但是不知道如何使图片从中间放大,日后再行尝试吧,代码如下:

<!DOCTYPE html>
<html>
<head>
  <title>网易图片动画</title>
  <style>
    div.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>
  <div class="img">
    <img class="bigger" src="http://cms-bucket.nosdn.127.net/d9b6afa0bad743f88c1780c3a064202c20170218074455.jpeg?imageView&thumbnail=185y116&quality=85" alt="">
  </div>
  <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的时长才有更好的效果,话不多说效果如下:

JS与CSS3实现图片响应鼠标移动放大效果示例

这个效果是不是好了很多呢,可以看到它自身就是从中心开始扩大的。
但是只要我们添加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>
    div.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>
  <div class="img">
    <img class="bigger" src="http://cms-bucket.nosdn.127.net/d9b6afa0bad743f88c1780c3a064202c20170218074455.jpeg?imageView&thumbnail=185y116&quality=85" alt="">
  </div>
</body>
</html>

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
JavaScript Date对象 日期获取函数
Dec 19 Javascript
JS自动缩小超出大小的图片
Oct 12 Javascript
在JS中解析HTML字符串示例代码
Apr 16 Javascript
node.js中的buffer.toJSON方法使用说明
Dec 14 Javascript
基于jQuery实现在线选座之高铁版
Aug 24 Javascript
使用json来定义函数,在里面可以定义多个函数的实现方法
Oct 28 Javascript
Bootstrap3 多个模态对话框无法显示的解决方案
Feb 23 Javascript
js处理包含中文的字符串实例
Oct 11 Javascript
微信小程序实现文字从右向左无限滚动
Nov 18 Javascript
微信小程序云开发之云函数详解
May 16 Javascript
Vuex的实战使用详解
Oct 31 Javascript
详解JavaScript中的执行上下文及调用堆栈
Apr 29 Javascript
Vue 父子组件数据传递的四种方式( inheritAttrs + $attrs + $listeners)
May 04 #Javascript
JS模拟实现哈希表及应用详解
May 04 #Javascript
vue地区选择组件教程详解
May 04 #Javascript
Vue 按键修饰符处理事件的方法
May 04 #Javascript
vue mint-ui tabbar变组件使用
May 04 #Javascript
Vue结合Video.js播放m3u8视频流的方法示例
May 04 #Javascript
原生javascript AJAX 三级联动的实现代码
May 04 #Javascript
You might like
php模拟服务器实现autoindex效果的方法
2015/03/10 PHP
PHP下载文件的函数实例代码
2016/05/18 PHP
php 解决扫描二维码下载跳转问题
2017/01/13 PHP
PHP校验15位和18位身份证号的类封装
2018/11/07 PHP
PHP使用CURL实现下载文件功能示例
2019/06/03 PHP
javascript下操作css的float属性的特殊写法
2007/08/22 Javascript
JavaScript 动态改变图片大小
2009/06/11 Javascript
为调试JavaScript添加输出窗口的代码
2010/02/07 Javascript
关于jquery性能最佳实践的讨论,与求教
2012/03/30 Javascript
JavaScript检测浏览器cookie是否已经启动的方法
2015/02/27 Javascript
基于JS实现textarea中获取动态剩余字数的方法
2016/05/25 Javascript
JavaScript与ActionScript3两者的同性与差异性
2016/09/22 Javascript
node 命令方式启动修改端口的方法
2018/05/12 Javascript
vue 使用axios 数据请求第三方插件的使用教程详解
2019/07/05 Javascript
关于JS模块化的知识点分享
2019/10/16 Javascript
vue 自定指令生成uuid滚动监听达到tab表格吸顶效果的代码
2020/09/16 Javascript
python实现下载指定网址所有图片的方法
2015/08/08 Python
Python实现字符串逆序输出功能示例
2017/06/24 Python
Python控制键盘鼠标pynput的详细用法
2019/01/28 Python
Python函数参数匹配模型通用规则keyword-only参数详解
2019/06/10 Python
python基础教程之while循环
2019/08/14 Python
使用python的turtle函数绘制一个滑稽表情
2020/02/28 Python
Pytorch1.5.1版本安装的方法步骤
2020/12/31 Python
浅谈基于Canvas的手绘风格图形库Rough.js
2018/03/19 HTML / CSS
canvas版人体时钟的实现示例
2021/01/29 HTML / CSS
自荐书封面下载
2013/11/29 职场文书
经理秘书求职自荐信范文
2014/03/23 职场文书
保护环境标语
2014/06/09 职场文书
运动会演讲稿100字
2014/08/25 职场文书
怒海潜将观后感
2015/06/11 职场文书
结婚主持人致辞
2015/07/28 职场文书
实习感想范文
2015/08/10 职场文书
文明礼仪主题班会
2015/08/13 职场文书
学习经验交流会演讲稿
2015/11/02 职场文书
CSS 制作波浪效果的思路
2021/05/18 HTML / CSS
DSP接收机前端设想
2022/04/05 无线电