美文网首页
商品放大镜效果

商品放大镜效果

作者: 星球小霸王 | 来源:发表于2017-10-08 08:10 被阅读0次

html片段

<div class="container">
            <div class="fix" id="fix">
                ![](https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1507431290210&di=b6322382cd7101c8017c140637e2510c&imgtype=0&src=http%3A%2F%2Fp1.gexing.com%2Fshaitu%2F20130217%2F1521%2F512084ef24570.jpg)
                <b class="zoom" id="zoom"></b>
            </div>
            <div class="show" id="show">
                ![](https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1507431290210&di=b6322382cd7101c8017c140637e2510c&imgtype=0&src=http%3A%2F%2Fp1.gexing.com%2Fshaitu%2F20130217%2F1521%2F512084ef24570.jpg)
            </div>
</div>

js片段

<script>

var fix = document.getElementById("fix");
        var zoom = document.getElementById("zoom");
        var bgImg = document.getElementById("bigImg");
        var show = document.getElementById("show");
        fix.onmousemove = function(e){
            var e = e || event;
            var zoomx = e.clientX,
                zoomy = e.clientY,
                fixL = fix.offsetLeft;
                fixT = fix.offsetTop;
            zoom.style.left  = zoomx - fixL -zoom.clientWidth/2 +"px";
            zoom.style.top = zoomy - fixT -zoom.clientHeight/2+ "px";

            if(parseInt(zoom.style.left)<0){
                zoom.style.left = 0+"px";
            }
            if(parseInt(zoom.style.top)<0){
                zoom.style.top = 0+"px";
            }
            if(parseInt(zoom.style.left)>fix.clientWidth - zoom.clientWidth){
                zoom.style.left = fix.clientWidth - zoom.clientWidth + "px";
            }
            if(parseInt(zoom.style.top)>fix.clientHeight - zoom.clientHeight){
                zoom.style.top = fix.clientHeight - zoom.clientHeight + "px";
            }

            bigImg.style.left = -parseInt(zoom.style.left)*2.5+"px";
            bigImg.style.top = -parseInt(zoom.style.top)*2.5+"px";

            if(parseInt(bigImg.style.left) < -(bigImg.clientWidth- show.clientWidth)){
                bigImg.style.left = -(bigImg.clientWidth - show.clientWidth) + "px";
            }
            if(parseInt(bigImg.style.top)<-(bigImg.clientHeight- show.clientHeight)){
                bigImg.style.top = -(bigImg.clientHeight- show.clientHeight) + "px";
            }
        }



        </script>

css片段

<style>
            .container{
                width: 1600px;
                height: 800px;
                border:1px solid red;
                margin:0 auto;
            }
            .fix{
                position: relative;
                float: left;
                width: 400px;
                height: 400px;
                border:1px solid silver;
            }
            .fix img{
                width: 100%;
                height: 100%;
            }

            b{
                position: absolute;
                top:0;
                left: 0;
                width: 100px;
                height: 100px;
                border:1px solid silver;
                background-color: #fff;
                opacity: 0.4;
            }
            .show{
                float: left;
                position: relative;
                width: 400px;
                height: 400px;
                border:1px solid silver;
                overflow: hidden;
                margin-left: 50px;
            }
            .show img{
                position: absolute;
                top: 0;
                left: 0;
            }




        </style>

相关文章

  • 商品放大镜效果

    html片段 js片段 css片段

  • 放大镜

    放大镜的效果跟平常我们在电商网站中的商品详情页将商品放大查看的效果是一样的,效果图如下: 布局结构如下: css样...

  • iOS放大镜效果实现-ASMagnifierManger

    ASMagnifierManger 放大镜效果。可更改放大倍数和放大镜大小 特点介绍 放大镜效果 放大镜形状自定义...

  • 商品图像放大镜效果(原生JS)

    要实现的效果: 效果分析: 代码实现:(可复制出来运行,两张图片小图 small.jpg 400x400;大图bi...

  • js-京东商品放大镜效果

    惯例先上效果 忽略我手残晃动(太强会被撞到地上),(也不知道为什么明明浏览器背景是白色,录出来的图就是蓝色,求推荐...

  • etalage插件使用

    在浏览某宝商品的时候,会有以下的动画,其实就是个放大镜的效果。当然,我们可以用原生的javascript实现这种效...

  • 商品放大镜

  • bootstrap3的插件(弹出层)

    先展示效果图:当用户将鼠标移动到图片上面时,会自动显示其他信息,可作为商品放大镜等其他需求 实现:

  • 小猿圈web前端之JavaScript放大镜效果

    对于经常网购的网友们,现在很多网站都有放大镜功能,每当你看到商品的时候,鼠标移动到图片时,就会有放大效果,知道是什...

  • 【纯原生JS】 我居然用onmouseover+onmouseo

    ✍️作者:极客小俊?公众号同名: 一个把逻辑思维转变为代码的技术博主 前言? 商品的放大镜效果相信逛过商城的朋友应...

网友评论

      本文标题:商品放大镜效果

      本文链接:https://www.haomeiwen.com/subject/rhfeyxtx.html