html放大镜小图标,图片放大镜jquery.jqzoom.js使用实例附放大镜图标

79f6d32adf5f4107f3bf7cbd22bdb3fe.gif

1. jquery.jqzoom.js

//**************************************************************

// jQZoom allows you to realize a small magnifier window,close

// to the image or images on your web page easily.

//

// jqZoom version 2.2

// Author Doc. Ing. Renzi Marco(www.mind-projects.it)

// First Release on Dec 05 2007

// i'm looking for a job,pick me up!!!

// mail: renzi.mrc@gmail.com

//**************************************************************

(function ($) {

$.fn.jqueryzoom = function (options) {

var settings = {

xzoom: 200, //zoomed width default width

yzoom: 200, //zoomed div default width

offset: 10, //zoomed div default offset

position: "right",//zoomed div default position,offset position is to the right of the image

lens: 1, //zooming lens over the image,by default is 1;

preload: 1

};

if (options)

{

$.extend(settings, options);

}

var noalt = '';

$(this).hover(function () {

var imageLeft = $(this).offset().left;

var imageTop = $(this).offset().top;

var imageWidth = $(this).children('img').get(0).offsetWidth;

var imageHeight = $(this).children('img').get(0).offsetHeight;

noalt = $(this).children("img").attr("alt");

var bigimage = $(this).children("img").attr("jqimg");

$(this).children("img").attr("alt", '');

if ($("div.zoomdiv").get().length == 0)

{

$(this).after("

%22%20+%20bigimage%20+%20%22
");

$(this).append("

}

if (settings.position == "right")

{

if (imageLeft + imageWidth + settings.offset + settings.xzoom > screen.width)

{

leftpos = imageLeft - settings.offset - settings.xzoom;

} else

{

leftpos = imageLeft + imageWidth + settings.offset;

}

} else

{

leftpos = imageLeft - settings.xzoom - settings.offset;

if (leftpos < 0)

{

leftpos = imageLeft + imageWidth + settings.offset;

}

}

$("div.zoomdiv").css({ top: imageTop, left: leftpos });

$("div.zoomdiv").width(settings.xzoom);

$("div.zoomdiv").height(settings.yzoom);

$("div.zoomdiv").show();

if (!settings.lens)

{

$(this).css('cursor', 'crosshair');

}

$(document.body).mousemove(function (e) {

mouse = new MouseEvent(e);

/*$("div.jqZoomPup").hide();*/

var bigwidth = $(".bigimg").get(0).offsetWidth;

var bigheight = $(".bigimg").get(0).offsetHeight;

var scaley = 'x';

var scalex = 'y';

if (isNaN(scalex) | isNaN(scaley))

{

var scalex = (bigwidth / imageWidth);

var scaley = (bigheight / imageHeight);

$("div.jqZoomPup").width((settings.xzoom) / scalex);

$("div.jqZoomPup").height((settings.yzoom) / scaley);

if (settings.lens)

{

$("div.jqZoomPup").css('visibility', 'visible');

}

}

xpos = mouse.x - $("div.jqZoomPup").width() / 2 - imageLeft;

ypos = mouse.y - $("div.jqZoomPup").height() / 2 - imageTop;

if (settings.lens)

{

xpos = (mouse.x - $("div.jqZoomPup").width() / 2 < imageLeft) ? 0 : (mouse.x + $("div.jqZoomPup").width() / 2 > imageWidth + imageLeft) ? (imageWidth - $("div.jqZoomPup").width() - 2) : xpos;

ypos = (mouse.y - $("div.jqZoomPup").height() / 2 < imageTop) ? 0 : (mouse.y + $("div.jqZoomPup").height() / 2 > imageHeight + imageTop) ? (imageHeight - $("div.jqZoomPup").height() - 2) : ypos;

}

if (settings.lens)

{

$("div.jqZoomPup").css({ top: ypos, left: xpos });

}

scrolly = ypos;

$("div.zoomdiv").get(0).scrollTop = scrolly * scaley;

scrollx = xpos;

$("div.zoomdiv").get(0).scrollLeft = (scrollx) * scalex;

});

}, function () {

$(this).children("img").attr("alt", noalt);

$(document.body).unbind("mousemove");

if (settings.lens)

{

$("div.jqZoomPup").remove();

}

$("div.zoomdiv").remove();

});

count = 0;

if (settings.preload)

{

$('body').append("

sdsdssdsd
");

$(this).each(function () {

var imagetopreload = $(this).children("img").attr("jqimg");

var content = jQuery('div.jqPreload' + count + '').html();

jQuery('div.jqPreload' + count + '').html(content + '%5C%22'');

});

}

}

})(jQuery);

function MouseEvent(e) {

this.x = e.pageX;

this.y = e.pageY;

}

2. jqzoom.css

/*jQzoom*/

.jqzoom{

border:1px solid #BBB;

float:left;

position:relative;

padding:0px;

cursor:pointer;

}

div.zoomdiv {

z-index: 999;

position : absolute;

top:0px;

left:0px;

width : 200px;

height : 200px;

background: #ffffff;

border:1px solid #CCCCCC;

display:none;

text-align: center;

overflow: hidden;

}

div.jqZoomPup {

z-index : 999;

visibility : hidden;

position : absolute;

top:0px;

left:0px;

width : 50px;

height : 50px;

border: 1px solid #aaa;

background: #ffffff url(../images/zoomlens.gif) 50% top no-repeat;

opacity: 0.5;

-moz-opacity: 0.5;

-khtml-opacity: 0.5;

filter: alpha(Opacity=50);

}

3. html代码

/*使用jqzoom*/

$(function() {

$(".jqzoom").jqueryzoom({

xzoom: 400, //放大图的宽度(默认是 200)

yzoom: 400, //放大图的高度(默认是 200)

offset: 10, //离原图的距离(默认是 10)

position: "right", //放大图的定位(默认是 "right")

preload: 1

});

});

附件:放大镜图标(zoomlens.gif)

dd36c4b62ffa2dfdc345242f497343c6.gif

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值