南强小屋 Design By 杰米
本文实例讲述了jQuery实现的放大镜效果。分享给大家供大家参考,具体如下:
zoom.css:
*{
padding: 0;
margin: 0;
}
li{
list-style-type: none;
}
.zoom{
margin: 50px;
position: relative;
}
.zoomMiddle{
border: 1px solid #ccc;
width: 300px;
height: 300px;
margin-bottom: 3px;
position: relative;
}
.zoomMiddle img{
width: 300px;
height: 300px;
}
.mask{
width: 100px;
height: 100px;
background: #abcdef;
opacity:0.4;
position: absolute;
left: 0;
top: 0;
display: none;
}
.zoomSmall{
-overflow: hidden;
width: 302px;
height: 54px;
}
.zoomSmall span{
float: left;
height: 52px;
line-height: 52px;
width: 10px;
text-align: center;
border: 1px solid #ccc;
cursor: pointer;
}
.zoomSmall span.disable{
cursor: default;
background: #ccc;
}
.wrapSmallImg{
float: left;
height: 54px;
width: 232px;
/*background: #f00;*/
position: relative;
overflow: hidden;
}
.wrapSmallImg ul{
width: 348px;
/*background: #f00;*/
position: absolute;
left: 0;
top: 0;
}
.wrapSmallImg ul li{
float: left;
width: 50px;
height: 50px;
border: 2px solid #ccc;
margin: 0 2px;
_display: inline;
cursor: pointer;
}
.wrapSmallImg ul li.current{
border: 2px solid orange;
}
.wrapSmallImg ul li img{
width: 50px;
height: 50px;
}
.zoomLarge{
width: 350px;
height: 350px;
border: 1px solid #ccc;
position: absolute;
top: 0;
left: 320px;
overflow: hidden;
display:none;
}
.zoomLarge img{
width: 600px;
height:600px;
position: absolute;
left: 0;
top: 0;
}
zoom.html:
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>放大镜</title>
<link rel="stylesheet" href="zoom.css">
</head>
<body>
<input type="text" name="" id="">
<div class="zoom">
<div class="zoomMiddle">
<img src="/UploadFiles/2021-04-02/1.jpg">
zoom.js:
$(function(){
var smallImgLi = $('.wrapSmallImg ul li');
var smallImgLiLength = smallImgLi.size();
var smallImgLiWidth = smallImgLi.outerWidth(true);
var smallImgUl = $('.wrapSmallImg ul');
var leftBtn = $('span.left');
var rightBtn = $('span.right');
var now = 0;
var zoomMiddleDiv = $('.zoomMiddle');
smallImgLi.mouseover(function(){
$(this).addClass('current').siblings().removeClass('current');
var thisSrc = $(this).children('img').attr('src');
$('.zoomMiddle img').attr('src',thisSrc);
$('.zoomLarge img').attr('src',thisSrc);
});
rightBtn.click(function(){
//当now=2的时候,我们不希望再让他滚动了
leftBtn.removeClass('disable');
if(now>=smallImgLiLength-4){
$(this).addClass('disable');
now = smallImgLiLength-4;
}else{
now++;
smallImgUl.animate({'left':-now*smallImgLiWidth},300);
}
});
leftBtn.click(function(){
if(now==0){
now=0;
}else{
now--;
smallImgUl.animate({'left':'+='+smallImgLiWidth},300);
}
});
zoomMiddleDiv.mousemove(function(e){
$('.mask').show();
$('.zoomLarge').show();
zoomMiddleDivOffset = zoomMiddleDiv.offset();
var x = e.pageX - zoomMiddleDivOffset.left - $('.mask').width()/2;
var y = e.pageY - zoomMiddleDivOffset.top - $('.mask').height()/2;
if(x<=0){
x=0;
}else if(x>=zoomMiddleDiv.width()-$('.mask').width()){
x = zoomMiddleDiv.width()-$('.mask').width();
}
if(y<=0){
y=0;
}else if(y>=zoomMiddleDiv.height()-$('.mask').height()){
y = zoomMiddleDiv.height()-$('.mask').height();
}
var percentageX = x/(zoomMiddleDiv.width()-$('.mask').width());
var percentageY = y/(zoomMiddleDiv.height()-$('.mask').height());
$('.zoomLarge img').css({
left:-percentageX*(600-$('.zoomLarge').width()),
top:-percentageY*(600-$('.zoomLarge').height())
});
$('input').val(percentageX+','+percentageY)
$('.mask').css({
'left':x+'px',
'top':y+'px'
});
});
zoomMiddleDiv.mouseout(function(){
$('.mask').hide();
$('.zoomLarge').hide();
});
});
效果图如下:
更多关于jQuery相关内容感兴趣的读者可查看本站专题:《jQuery常用插件及用法总结》、《jquery中Ajax用法总结》、《jQuery表格(table)操作技巧汇总》、《jQuery拖拽特效与技巧总结》、《jQuery扩展技巧总结》、《jQuery常见经典特效汇总》、《jQuery动画与特效用法总结》及《jquery选择器用法总结》
希望本文所述对大家jQuery程序设计有所帮助。
标签:
jQuery,放大镜
南强小屋 Design By 杰米
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
南强小屋 Design By 杰米
暂无jQuery实现的放大镜效果示例的评论...
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
