图像放大镜功能的jQuery实现

图像放大镜功能的jQuery实现
实现原理:

这里我们用两张图片,一张小图片,一张大图片,大图片被设置为放大镜的背景图片。当鼠标移动到小图片上时,它控制放大镜中大背景图像的位置,两张图片的最佳大小相等,这样就可以达到最好的效果。当时,两幅图片的大小是一样的,所以放大镜的效果不明显,这与放大不一样。

这个插件使用了HTML5,CSS3属性,版本不兼容IE8及以下,和放大镜是方的。

运行效果的截图如下:
具体代码如下:

函数(){())
美元。fn.magnifier =功能选项){

默认参数设置
var设置{ {
直径:150放大镜直径
带:2 /放大镜框的大小
边框颜色:白 / /放大镜边框颜色
backgroundimg:, / / 111 IMG .webp / /放大图像内(或更大)
};

带有参数
如果(选项)
扩展(设置,选项);

链式原则
返回this.each(函数(){()
当前对象/存储
var = $(this);

当前对象的宽度和高度
Var WRoot = root.width();
Var HRoot = root.height();

左和顶部/偏移量
无功补偿= root.offset();

放大镜样式
var风格=背景位置:0px 0px;背景重复:不重复;浮动:左;;
style=位置:绝对的框阴影:0 0 5px # 777, 00;10px # AAA插图;显示:无;;
样式=宽度:+字符串(设置大小)+像素;高度:+字符串+像素(设置。直径);;
风格=边界半径:+字符串(settings.diameter / 2 + settings.borderwidth + PX);;
风格=边界:+字符串(设置。带)+酶+ settings.bordercolor +固体;

创建放大镜
放大镜= $(var ),AppendTo(root.parent());

图片(当不是较大的时候,作为一个小地图本身)
无功backgroundimg = settings.backgroundimg settings.backgroundimg:root.attr(src);

将图片放入放大镜
magnifier.css({背景:URL(+ backgroundimg +' })});

缩放比例
无功wratio = 0; / /宽度
无功hratio = 0; / /高度

加载图像,缩放比例计算
因为图片不在DOM文档 / /,所以网页加载不触发Load事件,所以通过对appendto实施触发Load事件
$()。加载(函数(){)
wratio = $(this)。Width()/ wroot;
hratio = $(this)。Height() / HR管理
})。AppendTo(root.parent());

放大镜和背景图像的位置控制
函数位置(e){

Var LPos = parseInt(e.pagex偏左);
Var TPos = parseInt(e.pagey偏移。顶);

以确定图片上的鼠标是否
如果(LPos WRoot TPos | | > HRoot){

(放大镜隐藏); /不隐藏

{人}

(放大镜显示);放大镜显示。

控制 / /放大镜位置的背景图像(settings.diameter / 2)半径
LPOS =字符串((((( e.pagex偏左)* wratio - settings.diameter / 2)*(1));
TPOS =字符串((((( e.pagey偏移。顶部)* hratio - settings.diameter / 2)*(1));

magnifier.css({ backgroundposition:LPOS + 'px + TPOS + 'px});

控制/放大自身位置
LPOS =字符串(e.pagex - settings.diameter / 2);
TPOS =字符串(e.pagey - settings.diameter / 2);

magnifier.css({左:LPOS + 'px上:TPos + 'px});
}
}

/放大镜
magnifier.mousemove(位置);

当前对象
Root.mousemove(位置);

});
};
});
示例演示如下:

CSS3 + jquery图片放大镜效果


{
背景颜色:布莱克;
}
。箱
{
宽度:700px;
保证金:50px汽车;
}

U3000 U3000 U3000 U3000
$(# img_02 )放大镜();
介绍了实现图片放大镜功能的jQuery的内容。我希望你仔细研究并学会使用它。
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部