这篇文章分享给大家的内容是关于h5实现放大镜效果的代码,内容很有参考价值,希望可以帮到有需要的小伙伴。
最近公司做的艺术品放大效果,和以往的淘宝放大镜效果有些不同,这个需要在本图上放大
<html>
<head>
<meta charset=UTF-8>
<style type=text/css>
*{margin:0;padding:0}
.demo{width: 680px;height: 480px;position:relative;background:#333;margin:20px auto;overflow:hidden;}
.small_box{position:absolute;/*left:100px;*/top: 0;/*height: 480px;*/}
.big_box{width: 100px;height: 100px;border:1px solid #999;background:url(./images/cc.jpg) no-repeat;position:absolute;top: 0;left: 0;border-radius:50%;cursor:none;display:none;box-shadow: 0px 0px 8px #000;}
</style>
</head>
<body>
<p id=demo class=demo>
<img id=small_box class=small_box src=images/cc.jpg/>
<p id=big_box class=big_box>
</p>
</p>
<script type=text/javascript src=./js/jquery-1.10.1.min.js></script>
<script type=text/javascript>
$(function(){
(function(a){function d(b){var c=b||window.event,d=[].slice.call(arguments,1),e=0,f=!0,g=0,h=0;return b=a.event.fix(c),b.type="mousewheel",c.wheelDelta&&(e=c.wheelDelta/120),c.detail&&(e=-c.detail/3),h=e,c.axis!==undefined&&c.axis===c.HORIZONTAL_AXIS&&(h=0,g=-1*e),c.wheelDeltaY!==undefined&&(h=c.wheelDeltaY/120),c.wheelDeltaX!==undefined&&(g=-1*c.wheelDeltaX/120),d.unshift(b,e,g,h),(a.event.dispatch||a.event.handle).apply(this,d)}var b=["DOMMouseScroll","mousewheel"];if(a.event.fixHooks)for(var c=b.length;c;)a.event.fixHooks[b[--c]]=a.event.mouseHooks;a.event.special.mousewheel={setup:function(){if(this.addEventListener)for(var a=b.length;a;)this.addEventListener(b[--a],d,!1);else this.onmousewheel=d},teardown:function(){if(this.removeEventListener)for(var a=b.length;a;)this.removeEventListener(b[--a],d,!1);else this.onmousewheel=null}},a.fn.extend({mousewheel:function(a){return a?this.bind("mousewheel",a):this.trigger("mousewheel")},unmousewheel:function(a){return this.unbind("mousewheel",a)}})})(jQuery)
// 画原本的宽高
var origin_img = new Image();
origin_img.src = $('.small_box').attr('src');
var origin_w = origin_img.width;
var origin_h = origin_img.height;
// 计算画缩放的宽高
var now_h = 480;
var now_w = (origin_w/origin_h)*now_h;
$('.small_box').css({'left':(680 -now_w)/2+'px','height':now_h+'px'})
console.log($('.small_box').offset().left);
$('#demo')[0].onmousemove = function(ev){
var _event=ev||window.event;
var x = _event.pageX||_event.clientX,
y = _event.pageY||_event.clientY;
var left=x- $('#big_box').width()/2 - $('.demo').offset().left ;
var top=y - $('#big_box').width()/2 - $('.demo').offset().top ;
$('#big_box')[0].style.left = left+ 'px';
$('#big_box')[0].style.top = top + 'px';
var percentX = ($('.small_box').offset().left -x)/now_w;
var percentY = ($('.small_box').offset().top -y)/now_h;
$('.big_box').css({
'background-position-x':percentX*origin_w + $('#big_box').width()/2+'px',
'background-position-y':percentY*origin_h + $('#big_box').height()/2+'px'
})
}
// 滚轮滚动
$('.big_box').on('mousewheel',function(_event,delta){
var x = _event.pageX||_event.clientX,
y = _event.pageY||_event.clientY;
var left=x- $('#big_box').width()/2 - $('.demo').offset().left ;
var top=y - $('#big_box').width()/2 - $('.demo').offset().top ;
var targe_w = $(this).width();
var targe_h = $(this).height();
if (delta>0) {
targe_w += 3;
targe_h += 3;
$('#big_box')[0].style.left = left -3+ 'px';
$('#big_box')[0].style.top = top -3 + 'px';
}else{
targe_w -= 3;
targe_h -= 3;
$('#big_box')[0].style.left = left +3+ 'px';
$('#big_box')[0].style.top = top +3 + 'px';
}
$(this).width(targe_w);
$(this).height(targe_h);
})
//显示放大镜
$('.demo').on('mouseover',function(){
$('#big_box').show();
});
$('.demo').on('mouseout',function(){
$('#big_box').hide();
});
})
</script>
<br/> <br/> <br/> <br/> <br/>
</body>
</html>
相关推荐:
HTML5 Canvas实现烟花绽放的特效
canvas实现爱心和彩虹雨的效果
以上就是h5实现放大镜效果的代码的详细内容,更多请关注双恒网络其它相关文章!
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!
8. 精力有限,不少源码未能详细测试(解密),不能分辨部分源码是病毒还是误报,所以没有进行任何修改,大家使用前请进行甄别
9.本站默认解压密码为:www.sudo1.com
本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。
不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。
本站信息来自网络收集整理,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。
如果您喜欢该程序和内容,请支持正版,购买注册,得到更好的正版服务。
我们非常重视版权问题,如有侵权请邮件与我们联系处理。敬请谅解!
云资源网 » h5实现放大镜效果的代码
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!
8. 精力有限,不少源码未能详细测试(解密),不能分辨部分源码是病毒还是误报,所以没有进行任何修改,大家使用前请进行甄别
9.本站默认解压密码为:www.sudo1.com
本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。
不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。
本站信息来自网络收集整理,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。
如果您喜欢该程序和内容,请支持正版,购买注册,得到更好的正版服务。
我们非常重视版权问题,如有侵权请邮件与我们联系处理。敬请谅解!
云资源网 » h5实现放大镜效果的代码
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 你们有qq群吗怎么加入?