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 相关文章推荐
才发现的超链接js导致网页中GIF动画停止的解决方法
Nov 02 Javascript
javascript使用activex控件的代码
Jan 27 Javascript
js中top/parent/frame概述及案例应用
Feb 06 Javascript
用js读、写、删除Cookie代码续篇
Dec 03 Javascript
JavaScript动态修改背景颜色的方法
Apr 16 Javascript
使用PHP+JavaScript将HTML页面转换为图片的实例分享
Apr 18 Javascript
JavaScript计算器网页版实现代码分享
Jul 15 Javascript
Javascript中内建函数reduce的应用详解
Oct 20 Javascript
AngularJS全局警告框实现方法示例
May 18 Javascript
如何将你的AngularJS1.x应用迁移至React的方法
Feb 01 Javascript
Vue自定义属性实例分析
Feb 23 Javascript
JavaScript 中判断变量是否为数字的示例代码
Oct 22 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页面消耗内存过大的处理办法
2013/03/18 PHP
ie与session丢失(新窗口cookie丢失)实测及解决方案
2013/07/15 PHP
详解PHP+AJAX无刷新分页实现方法
2015/11/03 PHP
学习php设计模式 php实现建造者模式
2015/12/07 PHP
PHP处理数组和XML之间的互相转换
2016/06/02 PHP
[原创]js获取数组任意个不重复的随机数组元素
2010/03/15 Javascript
js有关元素内容操作小结
2011/12/20 Javascript
基于jQuery选择器的整理集合
2013/04/26 Javascript
Jquery getJSON方法详细分析
2013/12/26 Javascript
js判断undefined类型示例代码
2014/02/10 Javascript
JS简单操作select和dropdownlist实例
2014/11/26 Javascript
解决jQuery uploadify在非IE核心浏览器下无法上传
2015/08/05 Javascript
JavaScript原生对象常用方法总结(推荐)
2016/05/13 Javascript
jQuery 弹出层插件(推荐)
2016/05/24 Javascript
解析JavaScript模仿块级作用域
2016/12/29 Javascript
微信小程序 仿美团分类菜单 swiper分类菜单
2017/04/12 Javascript
简单实现jQuery上传图片显示预览功能
2020/06/29 jQuery
AngularJS监听ng-repeat渲染完成的两种方法
2018/01/16 Javascript
原生JavaScript实现轮播图
2021/01/10 Javascript
python开发之list操作实例分析
2016/02/22 Python
python微信跳一跳系列之自动计算跳一跳距离
2018/02/26 Python
python实现音乐下载的统计
2018/06/20 Python
python 字典中取值的两种方法小结
2018/08/02 Python
浅谈pandas筛选出表中满足另一个表所有条件的数据方法
2019/02/08 Python
Python3.7 新特性之dataclass装饰器
2019/05/27 Python
中学生运动会入场词
2014/02/12 职场文书
小学教师寄语大全
2014/04/03 职场文书
房产委托公证书
2014/04/08 职场文书
我们的节日清明节活动总结
2014/04/30 职场文书
篝火晚会策划方案
2014/05/16 职场文书
党的生日活动方案
2014/08/15 职场文书
调研汇报材料范文
2014/08/17 职场文书
小学运动会演讲稿
2014/08/25 职场文书
大学生自我评价200字(4篇)
2014/09/17 职场文书
小学感恩节活动总结
2015/03/24 职场文书
基于PyQT5制作一个桌面摸鱼工具
2022/02/15 Python