京东商品放大镜

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
        #box {
            position: relative;
        }

        .small_box {
            background: darkorchid;
            width: 300px;
            height: 250px;
            border: 1px solid gainsboro;
            position: relative;
        }

        .small {
            width: 300px;
            height: 250px;
        }

        .layer {
            background: darkorange;
            opacity: .5;
            width: 150px;
            height: 150px;
            position: absolute;
            top: 0;
            left: 0;
            display: none;
        }

        .big_box {
            width: 400px;
            height: 300px;
            border: gainsboro 1px solid;
            background: greenyellow;
            position: absolute;
            top: 0;
            left: 300px;
            display: none;
            overflow: hidden;
        }

        .big {
            position: absolute;
            top: 0;
            left: 0;
        }
    </style>
</head>

<body>
    <div id="box">
        <div class="small_box">
            <img src="../../../imgs/4.png" class="small">
            <div class="layer"></div>
        </div>

        <div class="big_box">
            <img src="../../../imgs/4.png" class="big">
        </div>
    </div>
    <script>
        var box = document.getElementById(‘box‘);
        var small_box = document.querySelector(‘.small_box‘);
        var small = document.querySelector(‘.small‘);
        var layer = document.querySelector(‘.layer‘);
        var big_box = document.querySelector(‘.big_box‘);
        var big = document.querySelector(‘.big‘);
        small_box.addEventListener(‘mouseover‘, function() {
            layer.style.display = ‘block‘;
            big_box.style.display = ‘block‘;
            layer.style.cursor = ‘move‘;
        })
        small_box.addEventListener(‘mouseout‘, function(e) {
            layer.style.display = ‘none‘;
            big_box.style.display = ‘none‘;
        })
        layer.addEventListener(‘mousemove‘, function(e) {
            //获得鼠标位置
            var layerX = e.pageX - layer.offsetWidth / 2;
            var layerY = e.pageY - layer.offsetHeight / 2;
            //限制遮盖层X轴的移动位置
            layerX = layerX < 0 ? layerX = 0 : layerX;
            var maxX = small.offsetWidth - layer.offsetWidth;
            layerX = layerX > maxX ? layerX = maxX : layerX;
            //限制遮盖层Y轴的移动位置
            layerY = layerY < 0 ? layerY = 0 : layerY;
            var maxY = small.offsetHeight - layer.offsetHeight;
            layerY = layerY > maxY ? layerY = 100 : layerY;
            //赋值给layer的 top 和 left
            layer.style.left = layerX + ‘px‘;
            layer.style.top = layerY + ‘px‘;

            // 遮挡层移动距离 layerX 和 layerY
            // 遮挡层的最大移动距离 maxX 和 maxY
            // 大图片最大移动距离 bigMaxX 和 bigMaxY
            var bigMaxX = big.offsetWidth - big_box.offsetWidth;
            var bigMaxY = big.offsetHeight - big_box.offsetHeight;
            // 大图的移动距离 = 遮挡层移动距离 * 大图片最大移动距离 / 遮挡层的最大移动距离
            var bigX = layerX * bigMaxX / maxX;
            var bigY = layerY * bigMaxY / maxY;
            big.style.left = -bigX + ‘px‘;//因为是反方向移动,所以是 负值
            big.style.top = -bigY + ‘px‘;
        })
    </script>
</body>

</html>

原文地址:https://www.cnblogs.com/qtbb/p/11704822.html

时间: 2024-08-03 01:45:53

京东商品放大镜的相关文章

PHP读取京东商品图片

根据京东的商品链接取出商品图片 <?php $file_path='http://item.jd.com/1163375.html'; $file_path='http://item.jd.com/11316517.html'; $str=file_get_contents($file_path); $substr=strstr($str,'<img data-img="1" width="350"'); if(strlen($substr)==0){

python制作爬虫爬取京东商品评论教程

作者:蓝鲸 类型:转载 本文是继前2篇Python爬虫系列文章的后续篇,给大家介绍的是如何使用Python爬取京东商品评论信息的方法,并根据数据绘制成各种统计图表,非常的细致,有需要的小伙伴可以参考下 本篇文章是python爬虫系列的第三篇,介绍如何抓取京东商城商品评论信息,并对这些评论信息进行分析和可视化.下面是要抓取的商品信息,一款女士文胸.这个商品共有红色,黑色和肤色三种颜色, 70B到90D共18个尺寸,以及超过700条的购买评论. 京东商品评论信息是由JS动态加载的,所以直接抓取商品详

手把手教你写电商爬虫-第五课 京东商品评论爬虫 一起来对付反爬虫

系列教程: 手把手教你写电商爬虫-第一课 找个软柿子捏捏 手把手教你写电商爬虫-第二课 实战尚妆网分页商品采集爬虫 手把手教你写电商爬虫-第三课 实战尚妆网AJAX请求处理和内容提取 手把手教你写电商爬虫-第四课 淘宝网商品爬虫自动JS渲染 四节课过去了,咱们在爬虫界也都算见过世面的人,现在再来一些什么ajax加载之类的小鱼小虾应该不在话下了,即使是淘宝这种大量的ajax,我们 祭上我们的核武器,也轻松应对了,这一课主要是来看看除了技术上的页面处理外,我们还会遇上更棘手的问题,就是反爬虫,当然现

e2e 自动化集成测试 架构 京东 商品搜索 实例 WebStorm Node.js Mocha WebDriverIO Selenium Step by step (四) Q 反回调

上一篇文章“e2e 自动化集成测试 架构 京东 商品搜索 实例 WebStorm Node.js Mocha WebDriverIO Selenium Step by step (三) SqlServer数据库的访问” 下面讲一下,对于在写Node.js自动化测试脚本过程中,的编写回调问题, 大家可能会发现, Node.js对于高并发处理的性能非常不错, 即使是在使用单核的情况下, 那是因为它是基于事情,说白了就是callback, 回调. 这样的话,对于写代码的人来说, 回调的深度一深就会晕了

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

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

爬取京东商品信息和评价的爬虫实现源码

话不多说,直接上源码: var keyword = "d3.js";//@input(keyword, 查询关键字, 爬取该关键字搜索出来的京东商品) var comment_count = 100;//@input(comment_count, 爬取的评论数, 最多爬取多少条评论) var page_count = comment_count / 10; keyword = keyword.trim(); var scanUrls = []; scanUrls.push("

Python爬取京东商品数据

对京东某一商品信息页面的HTML代码进行分析,可以发现它的图书产品信息页面都含有这样一段代码(不同类的商品页面有些不同): window.pageConfig={compatible:true,searchType: 1,product:{"skuid":"11408255","name":"\u4f17\u795e\u7684\u536b\u661f\uff1a\u4e2d\u56fd\u7981\u533a","

八爪鱼采集教程——京东商品评论采集

京东商品评论信息采集 介绍采集使用八爪鱼7.0采集京东商品评论数据的方法 更多相关教程可以到八爪鱼教程中心查看: http://www.bazhuayu.com/tutorials?version=v7.0 八爪鱼下载: http://www.bazhuayu.com/download 采集网站: http://item.jd.com/11221162.html#comment 使用功能点: l Ajax翻页 l 分页内容提取   步骤1:创建采集任务 进入主界面选择,选择自定义模式 将上面网址

京东价格监控软件开发技术探讨七:如何获取京东商品评价信息

在购买商品的时候,这个商品质量怎么样.价格贵不贵.商家服务态度好不好?这些问题往往是购买者急需知道的信息. 京东平台提供了商品评价功能,能够让购买者通过其他购买者的反馈来决定自己到底买不买这个商品. 项目组在对"杀京东"程序进行需求调研时,认为提供商品的评价尤其是差评信息,对购买者非常有指导意义,能加强用户的操作体验.此时,如何获取京东商品的评价信息成为项目组的首要任务. 首先还是先上神器Fiddler,通过它来获取到访问地址. //差评 http://club.jd.com/prod