js购物时的放大镜效果

首先需要两张一样的图片,一张大图,一张小图,大图显示,当鼠标移入时,小图上出现一个滑块,可以滑动,大图也跟着显示,大图的显示区域和小图一样,当滑块滑到不同的位置,大图显示不同的区域,当鼠标移出时,滑块和大图都隐藏。

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>放大镜</title>
    <style type="text/css">
*{
    padding: 0px;
    margin: 0px;
}
#left{
    width:400px;
    height:400px;
    border:1px solid blue;
    position: relative;
    float:left;
    background: url(xiao.jpg) no-repeat;
}

#left #huakuai{
    width:200px;
    height:200px;
    background:white;
    position: absolute;
    opacity: 0.6;
    filter:alpha(opacity=60);
    display: none;
}
#left #cover{
    width:400px;
    height: 400px;
    position: absolute;
    z-index: 3;
    top:0px;
    left:0px;
    background: red;
    opacity: 0;
    filter:alpha(opacity=0);
    /*相当于给左边的div加了一个盖子,鼠标直接作用在盖子上,不用作用滑块上,防止滑块的抖动*/
}
#right{
    width:400px;
    height:400px;
    border:1px solid blue;
    overflow: hidden;
    float: left;
    margin-left:20px;
    position:relative;
    display: none;
}
#right #right_img{
    position: absolute;
    top:0px;
    left:0px;
    /*根据鼠标的移动,图片的显示区域显示相应的位置*/
}

    </style>
    <script type="text/javascript">
window.onload=function(){
    var oleft=document.getElementById(‘left‘);//获得左边原图的div元素
    var ohk=document.getElementById(‘huakuai‘);//获得滑块元素
    var ocover=document.getElementById(‘cover‘);//获得盖子元素
    var oright=document.getElementById(‘right‘);//获得右边div区域
    var oright_img=document.getElementById(‘right_img‘);//获得右边图片区域

    oleft.onmouseover=function(){//当鼠标移入左边的div时,
        ohk.style.display=‘block‘;//滑块显示
        oright.style.display=‘block‘;//右边div显示
    }
     oleft.onmouseout=function(){//鼠标移出,
        ohk.style.display=‘none‘;//滑块隐藏
        oright.style.display=‘none‘;//右边div隐藏
    }
    ocover.onmousemove=function(e){//鼠标在盖子上移动的事件
        var ev=e||window.event;//兼容性
        var m_left=ev.layerX||ev.offsetX;//兼容性获得鼠标的横坐标
        var left=m_left-100;//表示滑块到div左边框的距离,鼠标在div中间
        if(left<0){//如果滑块要超出左边框,另左边距等于0
            left=0;
        }
        if(left>200){//如果滑块要超出右边框,另左边框为最大值200
            left=200;
        }
        huakuai.style.left=left+‘px‘;//将左边距赋值给小滑块

        var m_top=ev.layerY||ev.offsetY;//同理设置垂直方向的值
        var top=m_top-100;
        if(top<0){
            top=0;
        }
        if(top>200){
            top=200;
        }
        huakuai.style.top=top+‘px‘;

        var right_left=left*-2;//因为大图为小图的2倍,所以乘以2,因为图片要向左上移动,位置像素值为负,所以再乘以-1
        var right_top=top*-2;//同理,获得垂直方向的值
        oright_img.style.left=right_left+‘px‘;//赋值
        oright_img.style.top=right_top+‘px‘;
    }

}
    </script>

</head>
<body>
<div id="left">
    <div id="huakuai"></div>
    <div id="cover"></div>
</div>
<div id="right">
    <img src="datu.jpg" id="right_img">
</div>

</body>
</html>

图片如下:

时间: 2024-12-12 23:19:35

js购物时的放大镜效果的相关文章

CSS+JS打造的精美放大镜效果

<!doctype html> <html> <head> <base href="http://www.CsrCode.Cn/" /> <meta charset="utf-8"/> <title>CSS+JS打造的精美放大镜效果丨梨花粉价格丨河北叉车</title> <meta http-equiv="X-UA-Compatible" content=&

利用JS实现购物网站商品放大镜效果

大家几乎都有在网上购物的经验,有的网站会有一个商品放大镜功能, 就是把鼠标移到图片上的时候,旁边会有另外一张大的图片展示,等同于 放大镜效果,那这样的效果怎样实现的呢,我把代码发给大家,请大家参考. <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>放大镜</title> <style> *{m

原生js实现放大镜效果

放大镜效果主要涉及3个鼠标事件: 1.onmouseover,鼠标移入浮动小方块和显示放大的区域显示: 2.onmousemove,鼠标移动,小方块和放大区域一起移动: 3.onmouseout,鼠标移除小方块和放大区域消失. 其实放大镜效果最主要的是小方块与放大区域的比例及位置: <div id="small_box"> <div class="small_Pic"> <div id="float_box">

前端JS电商放大镜效果

前端JS电商放大镜效果: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>26-电商放大镜</title> <style type="text/css"> *{ padding: 0; margin: 0; } #left{ padding: 0; margin: 0; w

原生js实现的放大镜效果

这是我用原生js写的放大镜效果,与各种各样的框架技术相比,我喜欢使用原生的js,在这里,想和大家一起谈谈原生和框架技术的理解与个人喜好. <!DOCTYPE HTML><html> <head> <title>js放大镜效果</title> <meta http-equiv="content-type" content="text/html;charset=utf-8"/> <style&

原生JS实现简单的淘宝放大镜效果

大家经常去淘宝买东西会发现,淘宝上的放大镜效果挺有意思的,这里简单的实现了下,代码中的图片地址 亲们可以自行更换; <!DOCTYPE html> <html> <head> <title>放大镜</title> <meta charset="utf-8" /> <style type="text/css"> *{ margin: 0; padding: 0; } body{ hei

关于jQuery中实现放大镜效果

1.1.1 摘要 相信大家都见过或使用过放大镜效果,甚至实现过该效果,它一般应用于放大查看商品图片,一些电商网站(例如:凡客,京东商城,阿里巴巴等)都有类似的图片查看效果. 在接下来的博文中,我们将向大家介绍通过jQuery实现放大镜效果. 目录 实现原理 mousemove事件 相对坐标 background-position属性 mousewheel事件 1.1.2 正文 实现原理 首先,我们讲解一下放大镜效果的实现方式: 方法一:准备一张高像素的大图,当鼠标放到原图上,加载显示大图的对应位

放大镜效果

放大镜效果的html 部分: <div id="div1"> <img src="img/m1.jpg" /> <span id="mask"></span></div><div id="div2"> <img src="img/b1.jpg" /></div> 两张一样的图片,一张大图,一张小图,两张图片的比例

使用jquery实现放大镜效果

实现原理 首先,我们讲解一下放大镜效果的实现方式: 方法一:准备一张高像素的大图,当鼠标放到原图上,加载显示大图的对应位置. 方法二:对原图片进行放大,也就是调整原图的长和宽. 上面我们介绍了通过两种方式实现放大镜效果,接下来,我们将以上的两种方式应用到我们的jQuery插件中. 首先,我们需要一个img元素显示原图对象,还需要一个容器作为显示框:显示框里面存放大图对象.当鼠标移动到原图上时,通过对大图进行绝对定位来显示对应的部位,实现类似放大镜的效果. 接下来,让我们定义Index.html页