这次给大家带来JS+CSS3做出图片绑定鼠标移动事件放大,JS+CSS3做出图片绑定鼠标移动事件放大的注意事项有哪些,下面就是实战案例,一起来看一下。
今天看网易的网站上,当我把鼠标放上去的时候发现图片放大,移开图片缩小,于是自行尝试,结果如下。
方法一:使用js和css3
效果如图:
这样的实现非常简单,就是利用js的mouseover和 mouseout事件,但是不知道如何使图片从中间放大,日后再行尝试吧,代码如下:
网易图片动画 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%;} } 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"; }
登录后复制
方法二:使用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%.
源码如下:
网易图片动画 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); }
登录后复制
相信看了本文案例你已经掌握了方法,更多精彩请关注【创想鸟】其它相关文章!
推荐阅读:
如何使用Vue.js计算属性与侦听器
如何动态引入JS文件
以上就是JS+CSS3做出图片绑定鼠标移动事件放大的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2758667.html