利用jQuery实现图片放大镜


当前第2页 返回上一页

1) 将放大镜盒子和大图盒子显示出来,代码如下:

1

2

$('.box').show();

$('.big').show();

2) 获取小图片的宽度和高度,代码如下:

1

2

var width = $('.small img').width();

var height=$('.small img'). height ();

3) 获取大图片的宽度和高度,代码如下:

1

2

var Bwidth = $('.big img').width();

var Bheight = $('.big img').height();

4) 设置放置小图盒子的宽度,代码如下:

1

$('.small').css('width',width+'px');

5) 设置放大镜滑块的大小,代码如下:

1

2

var Hwidth = ($('.big').width())/Bwidth*($('.small').width());

var Hheight = ($('.big').height())/Bheight*($('.small').height());

6) 设置放大镜盒子的大小

1

$('.box').css({'width':Hwidth + 'px','height':Hheight + 'px'});

7) 设置放大镜盒子移动事件

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

$('.small').mousemove(function(e){

//获取鼠标的位置,代码如下:

var x = e.clientX;

var y = e.clientY;

//设置鼠标在放大镜盒子的中心上,代码如下:

var xx = x - $('.box').width()/2;

var yy = y -$('.box').height()/2;

//设置使放大镜盒子不可以出边框,代码如下:

var maxX = $('.small').width()-$('.box').width();

var maxY = $('.small').height()-$('.box').height();

if (xx<0) {

    xx = 0;

}

if (xx>maxX) {

    xx = maxX;

}

if (yy<0){

    yy = 0;

}

if (yy>maxY){

    yy = maxY;

}

$('.box').css({'left':xx + 'px','top':yy + 'px'});

//查看放大的倍数,及大图的移动距离,放大的图片的移动距离为放大镜盒子移动的距离*放大的倍数。代码如下:

var img_x = xx * ($('.big img').width()/$('.small img').width());

var img_y = yy * ($('.big img').height()/$('.small img').height());

//设置放大的图片的移动。代码如下:

$('.big img').css({'left':-img_x + 'px','top':-img_y + 'px'});

//创建当鼠标移入到小图的盒子时事件,将放大镜盒子和大图盒子进行隐藏。代码如下:

$('.small').mouseout(function(){

       $('.box').hide();

       $('.big').hide();

})

})

五、结果展示

0601.png

以上就是利用jQuery实现图片放大镜的详细内容,更多文章请关注木庄网络博客

返回前面的内容

相关阅读 >>

通过jQuery怎么获取数据库的内容

jQuery 不支持on怎么办

无法引用 jQuery怎么办

jQuery怎么遍历节点

jQuery函数on怎么用

jQuery如何验证元素是否为空

jQuery怎么判断节点是否存在?

jQuery 中文乱码的解决办法

jQuery怎么去除css样式?

jQuery的easyui和layui区别是什么

更多相关阅读请进入《jQuery》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...