iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >jQuery实现天猫商品放大镜效果
  • 918
分享到

jQuery实现天猫商品放大镜效果

2024-04-02 19:04:59 918人浏览 独家记忆
摘要

本文实例为大家分享了Jquery实现天猫商品放大镜效果的具体代码,供大家参考,具体内容如下 思路: 1、分四部分:产品主图,用来定位的小框,放大图,和产品不同侧面的小图2、定位的小框

本文实例为大家分享了Jquery实现天猫商品放大镜效果的具体代码,供大家参考,具体内容如下

思路:

1、分四部分:产品主图,用来定位的小框,放大图,和产品不同侧面的小图
2、定位的小框定位在产品主图元素上,放大图定位在右侧,当鼠标进入产品主图时小框和放大图显示出来。
3、放大图元素大小应与产品主图大小一样,设置放大图图片大小为主图大小的放大倍数,小框跟随鼠标移动,小框偏移地址多少,放大图偏移地址应是其负数,只显示小框区域的图片。
4、使小框跟随鼠标移动而移动,即获取鼠标当前位置,计算小框定位的top 、left值,并判断范围使其不超出主图元素大小。
5、将小框的top、left值获取给放大图,使其显示小框所在范围,注意!!放大图是主图的几倍top、left值也扩大相应倍数,并且值应是负数,小框右移,放大图图片应该左移,从而达到效果。

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>产品页面</title>
<script src="Http://cdn.staticfile.org/jquery/2.1.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/CSS/bootstrap.min.css" rel="external nofollow" > 
<script src="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>
<link rel="stylesheet" href="https://cdn.staticfile.org/font-awesome/4.7.0/css/font-awesome.css" rel="external nofollow" >
<style type="text/css">
*{
margin:0;
padding:0;
}
.product{
margin-left:50px;
width:400px;
}
.product-img{
margin:20px auto;
text-align:center;
}
.showimg{
position:relative;
width:400px;
height:400px;
border:1px solid #f5f5f5;
}
.show{
width:400px;
height:400px;
}
.product-img img{
margin:0 3px;
width:60px;
height:60px;
border:2px solid #FFF;
}
.showbox{
position:absolute;
top:0;
left:0;
opacity:0.5;
cursor:move;
width:200px;
height:200px;
background-color:lightblue;
display:none;
}
.showlarge{
position:absolute;
overflow:hidden;
top:0;
left:420px;
width:400px;
height:400px;
border:1px solid #f5f5f5;
display:none;
}
.showlarge img{
width:800px;
height:800px;
position:absolute;
}
</style>
<script>

$(function() {
    //鼠标移入产品小图事件
    $(".product-img img").mouseenter(function(){//鼠标悬浮在不同的产品小图片时外加黑色边框并且主图将其显示出来
        $(".product-img img").css({"border":"2px solid #FFF"});
        $(this).css({"border":"2px solid #000"});//this获取的是当前鼠标移入的元素,设置黑色边框
        var imgsrc=$(this).attr("src");//获取当前鼠标移入元素的src属性值将其赋值给主图元素
        $(".show").attr("src",imgsrc);
        $(".showlarge img").attr("src",imgsrc);//将鼠标选中的图传给放大图元素的src属性
    });
    //鼠标移入产品主图时出现放大的细节图和小框 
    $(".showimg").mouseenter(function(){
        $(".showbox").show();
        $(".showlarge").show();
    });
    //鼠标在产品主图移动事件
    $(".showimg").mousemove(function(e){
        var mousex=e.clientX;//获取鼠标当前对于浏览器可视区的X坐标
        var mousey=e.clientY;
        var imgx=$(".showimg").offset().left;//获得产品主图对于文档的偏移坐标
        var imgy=$(".showimg").offset().top;
        //小框的left值是鼠标位移减去产品图元素偏移坐标减去小框宽度的一半,使鼠标保持位于小框的中间
        var boxleft=mousex-imgx-$(".showbox").width()/2;//计算小框对于产品主图元素的距离用来定位
        var boxtop=mousey-imgy-$(".showbox").height()/2;
        //鼠标移动小框位置跟着变化
        $(".showbox").css({"top":boxtop,"left":boxleft});
        //计算小框移动的最大范围
        var maxtop=$(".showimg").height()-$(".showbox").height();
        var maxleft=$(".showimg").width()-$(".showbox").width();
        //判断小框移动的边界
        if(boxtop<=0){
            $(".showbox").css("top","0");
        }else if(boxtop>maxtop){
            $(".showbox").css("top",maxtop);
        }
        if(boxleft<=0){
            $(".showbox").css("left","0");
        }else if(boxleft>maxleft){
            $(".showbox").css("left",maxleft);
        }
        //设置放大图的位置偏移量,获取小框偏移量乘放大倍数,注意!!!放大图偏移量应设置为负值
        var showleft=-$(".showbox").position().left*2;//position()方法返回当前元素相对于父元素的位置(偏移)
        var showtop=-$(".showbox").position().top*2;
        //此处获取小框偏移量不应该使用前面计算出来的boxtop和boxleft值,因可能会出现超出移动的边界
        $(".showlarge img").css({"left":showleft,"top":showtop});
    });
    //鼠标离开产品主图元素事件,此处使用mouseleave事件只有在鼠标指针离开被选元素时才会触发,mouseout鼠标指针离开被选元素和其任何子元素都会触发。
    $(".showimg").mouseleave(function(){
        $(".showbox").hide();//小框隐藏
        $(".showlarge").hide();//放大图隐藏
    });
    
});
</script>
</head>
<body>
<div class="product">
<div class="showimg">
<img class="show" src="images/product3.png">
<div class="showbox"></div>
<div class="showlarge">
<img src="images/product3.png">
</div>
</div>
<div class="product-img">
<img src="images/product3.png">
<img src="images/product3-2.png">
<img src="images/product3-3.png">
<img src="images/product3-2.png">
<img src="images/product3-3.png">
</div>
</div>
</body>
</html>

效果如图:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: jQuery实现天猫商品放大镜效果

本文链接: http://www.lsjlt.com/news/144519.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • jQuery实现天猫商品放大镜效果
    本文实例为大家分享了jQuery实现天猫商品放大镜效果的具体代码,供大家参考,具体内容如下 思路: 1、分四部分:产品主图,用来定位的小框,放大图,和产品不同侧面的小图2、定位的小框...
    99+
    2024-04-02
  • jQuery如何实现天猫商品放大镜效果
    这篇“jQuery如何实现天猫商品放大镜效果”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“jQuery如何实现天猫商品放大镜...
    99+
    2023-06-29
  • Vue实现商品放大镜效果
    本文实例为大家分享了Vue实现商品放大镜效果的具体代码,供大家参考,具体内容如下 一、前言 在这个鼎盛的电商时代各种直播带货或者自主逛宝购物,我们对商品的认知和了解进一步查看详情,发...
    99+
    2024-04-02
  • JavaScript实现商品放大镜效果
    本文实例为大家分享了JavaScript实现商品放大镜的具体代码,供大家参考,具体内容如下 HTML+CSS部分: <style> .small{ ...
    99+
    2024-04-02
  • 原生js如何实现商品放大镜效果
    这篇文章将为大家详细讲解有关原生js如何实现商品放大镜效果,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。实现原理大图上的放大镜:小图的显示区域=大图片大小:小图片大小=大...
    99+
    2024-04-02
  • js实现购物网站商品放大镜效果
    本文实例为大家分享了js实现购物网站商品放大镜效果的具体代码,供大家参考,具体内容如下 首先说一下原理,以天猫某商品放大镜效果为例: 所谓的放大镜效果,其实也是欺骗我们眼球的一种效...
    99+
    2024-04-02
  • Vue实现电商网站商品放大镜效果示例
    目录效果图各部分代码总结效果图 各部分代码 HTML部分 <div id="goodsPics"> <!--当前查看商品图区域-->...
    99+
    2022-11-13
    Vue 网站商品放大镜 Vue 放大镜
  • Vue模仿实现京东商品大图放大镜效果
    效果如下: 首先,有一个放大镜的DOM结构 <template> <div class="spec-preview"> <!-- 展示的原...
    99+
    2022-12-27
    Vue放大镜效果 Vue模仿京东放大镜
  • jquery中怎么实现放大镜效果
    这篇文章给大家介绍jquery中怎么实现放大镜效果,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。html部分:这里需要使用2长一定比例的图片,在页面中按比例设置2个div中来存放这2长...
    99+
    2024-04-02
  • js怎么模拟实现淘宝网商品放大镜效果
    小编给大家分享一下js怎么模拟实现淘宝网商品放大镜效果,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!效果图:(实例图片由自己添加...
    99+
    2024-04-02
  • JavaScript实现放大镜效果
    本文实例为大家分享了JavaScript实现放大镜效果的具体代码,供大家参考,具体内容如下 这次实现的效果如下: 这次的案例稍微有一点难度,在css和js上都需要多加思考,话不多说...
    99+
    2024-04-02
  • jquery自定义放大镜效果
    本文实例为大家分享了jquery自定义放大镜效果的具体代码,供大家参考,具体内容如下 jquery定义插件: <!DOCTYPE html> <html>...
    99+
    2024-04-02
  • 纯CSS实现商品图片点击放大效果
    这篇文章给大家分享的是有关纯CSS实现商品图片点击放大效果的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。实现代码:CSS代码:CSS Code复制内容到剪贴板<style&...
    99+
    2024-04-02
  • 用javascript实现放大镜效果
    我们经常在一些详情页上可以见到放大镜效果,今天我们也来做一个放大镜样式。 先来看一下效果: 图中的图片选的不是很好,有些糊了,各位可以重新选择图片进行做放大镜案例 这个案例可以分为...
    99+
    2024-04-02
  • vue如何实现放大镜效果
    这篇文章主要为大家展示了“vue如何实现放大镜效果”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“vue如何实现放大镜效果”这篇文章吧。组件使用less,请确保已...
    99+
    2024-04-02
  • vue实现商品详情页放大镜功能
    本文实例为大家分享了vue实现商品详情页放大镜的具体代码,供大家参考,具体内容如下 templates中内容 <div class="productLeft"> ...
    99+
    2024-04-02
  • JS实现京东放大镜效果
    本文实例为大家分享了JS实现京东放大镜效果的具体代码,供大家参考,具体内容如下 需要实现的效果图如下: ①布局:布局采用一个大盒子里面首先分为上下两个部分,然后下部分又分为左右两个...
    99+
    2024-04-02
  • vue实现简单放大镜效果
    本文实例为大家分享了vue实现简单放大镜效果的具体代码,供大家参考,具体内容如下 <template> <div> <div...
    99+
    2024-04-02
  • javascript实现简单放大镜效果
    一个大盒子中有一张图片,鼠标放上去会出现一个半透明的遮罩层,鼠标移动,遮罩层跟着移动,盒子旁边还有一个放大的图片,跟着遮罩层移动的位置而改变放大图的位置,鼠标离开大盒子,遮罩层和放大...
    99+
    2024-04-02
  • HTML+CSS+JavaScript实现放大镜效果
    本文实例为大家分享了HTML+CSS+JavaScript实现放大镜效果的具体代码,供大家参考,具体内容如下 效果演示 JS 详解 HTML 和 CSS 部分放在了文章最后的源代码...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作