Maison >interface Web >js tutoriel >Implémenter un effet de loupe basé sur jquery_jquery
Affichage des effets spéciaux des images du produit sur les pages détaillées des principaux centres commerciaux. La souris glisse sur la petite image pour afficher l'image du milieu. La souris glisse sur l'image du milieu pour afficher l'image de la loupe jquery. similaire à l'affichage de la loupe d'image pour améliorer la conception de l'expérience utilisateur. Effet de loupe d'image jquery Il s'agit d'un affichage d'effets spéciaux d'image typique.
Le rendu est le suivant :
Style initial du cadre photo :
<div class="goods-imginfo-bimg-box" style="background-image: url(http://www.od.my/images/201507/thumb_img/142_thumb_P_1435792664520.jpg); position: relative;"></div>
Ajouter un cadre de zone de grossissement et un cadre d'effet de grossissement
picBox=$('.goods-imginfo-bimg-box'); picBox.css('position','relative'); picBox.append('<div class="mag-sbox"></div>'); picBox.append('<div class="mag-box"></div>');
Ajouter une feuille de style
$("head").append('<link rel="stylesheet" type="text/css" href="themes/od/css/mag.css">');
Style
@CHARSET "UTF-"; .mag-sbox{position: absolute;border: px solid #fff;background-color: rgba(,,,.);cursor: crosshair;z-index: ;display: none;} .mag-box{position: absolute;left: %;top:;margin-left: px;border:px solid #ccc;width: %;height:%; background-size: cover;background-color: #fff;z-index: ;display: none; } js /* * 放大镜效果 * 不改变前面的代码 * 添加放大镜效果 * 给 goods-imginfo-bimg-box; * */ $("head").append('<link rel="stylesheet" type="text/css" href="themes/od/css/mag.css">'); picBox=$('.goods-imginfo-bimg-box'); picBox.css('position','relative'); picBox.append('<div class="mag-sbox"></div>'); picBox.append('<div class="mag-box"></div>'); msBox=$('.mag-sbox'); mBox=$('.mag-box'); bs=; //倍数 msBox.css({width:picBox.width()/+'px',height:picBox.height()/+'px'}); mBox.css({'backgroundSize':bs*+'%'}); picBox.mousemove(function(e){ mBox.css('backgroundImage',$(this).css('backgroundImage')); //给大图背景 if(msBox.css('display')!='block'){ //鼠标放上去,出现范围框和效果框 msBox.show(); } if(mBox.css('display')!='block'){ mBox.show(); } /* 鼠标移动 */ xleft=e.pageX-picBox.offset().left-msBox.width()/; if(xleft<){ xleft=; }else if(xleft>picBox.width()-msBox.width()){ xleft=picBox.width()-msBox.width(); } xtop=e.pageY-picBox.offset().top-msBox.height()/; if(xtop<){ xtop=; }else if(xtop>picBox.height()-msBox.height()){ xtop=picBox.height()-msBox.height(); } msBox.css({'left': xleft+'px','top': xtop+'px'}); mBox.css({'backgroundPosition':-bs*xleft+'px '+-bs*xtop+'px'}); }); picBox.mouseout(function(){ msBox.hide(); mBox.hide(); });
Le code ci-dessus est basé sur jquery pour obtenir l'effet loupe. J'espère qu'il vous plaira.