使用jquery打造一个动态的预览产品颜色效果

在浏览一些电子商务网站的时候,选择一件产品的时候,我们经常会看到点击衣服的颜色,同一件衣服的颜色就会切换,让我们觉得真是比较有意思,这样做的效果给用户的体验比较好,今天就给大家分享一下这种效果的实现原理

productColorizer是一个轻量级的产品颜色解决方案,用户可以快速预览产品以选择不同的颜色。该插件每个产品只使用两个图像来创建效果,它是建立在强大的和流行的Javascript框架和jQuery,为您提供一个简单的设置。该插件兼容所有主要的浏览器包括IE7 +(使用PNG修复,可以运行在IE6当中)。

根据你的浏览习惯为你推荐

前端开发推荐-创建一个精美的jquery图片库效果
前沿设计推荐-让你的404页面飞起来-使用jquery创建一个会飞的404页面
分享5个实用的Javascript动态更新图标插件
前沿设计推荐-使用jquery打造动感的浮动web界面
jquery视差推荐:nikebetterworld视差平滑滚动效果

废话少多,先来个演示(点击下面的choose color颜色会发生变化)

  • 说明
  • 演示
  • 选项
  • 说明

    1. 下载,解压缩,将文件上传到你的服务器。放在head头部,这里就不多说了

    2. 1 <!-- Load jQuery Library First -->
      2 <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
      3 <!-- Load raphael library -->
      4 &lgt;script type="text/javascript" src="js/raphael-min.js"></script>
      5 <!-- Load productColorizer Plugin Next -->
      6 <script type="text/javascript" src="js/jquery.productColorizer.pack.js"></script>
      7 &

      一种颜色:

      现在准备图像,为了得到一张基本的颜色产品,我们将我们需要两个图像、 产品和透明的合影。接下来将创建蒙版。

      创建蒙版,用钢笔工具在图像编辑器跟踪需要彩色图像的部分。一旦追踪了整个图像,选择形状,并删除所选区域的照片。这个图像保存为一个透明的PNG图片

      下面是我使用的两个图像:(原图和png透明)

    3. Shirt Image Mask Image

      两种或更多种颜色

      为了在一个产品里显示两张不同的颜色,这里控制LOGO的颜色和背景的颜色作为搭配,详细的例子看最下面的DEMO
    4. Mask Image

       

      Logo SVG

    5. 现在开始编写我们的html部分,每个产品都被定义一个名字为product的类Div,在该产品的div,将有一个product-img的div,其中包含默认的产品形象和透明的图像,然后,你将有一个swatch div 包含所有你想要的可供选择颜色,并且定义了锚的链接。如下面的代码
    6.  1 <div class="product">
       2     <div class="product-img">
       3         <img src="images/default.jpg" />
       4         <img id="mask" class="mask" src="images/mask.png" />
       5     </div>
       6     
       7     <h3>Product Title</h3>
       8     <p>Product Description</p>
       9     <h4>Choose a Color:</h4>
      10     <div class="swatch">
      11         <a rel="32,223,95" href="#mask" title="Green">Green</a>
      12         <a rel="255,211,8" href="#mask" title="Yellow">Yellow</a>
      13         <a rel="255,101,8" href="#mask" title="Orange">Orange</a>
      14         <a rel="16,200,255" href="#mask" title="Blue">Blue</a>
      15         <a rel="142,8,255" href="#mask" title="Purple">Purple</a>
      16         <a rel="245,25,45" href="#mask" title="Red">Red</a>
      17     </div>
      18 </div>

      rel属性将包含您想要的颜色的RGB值  href 属性 定位到 透明图像的ID, 标题属性提供了工具提示,让用户知道什么颜色。

    7.  

      1 <a rel="red,green,blue" href="mask-id" title="Color Name">Color Name</a>

      两种或更多种颜色

      如果你需要两种颜色,你需要两种不同的swatch divs来进行分区颜色,您还需要另一个透明图像内的产品IMG的 div,下面的代码跟上面的差不多,只不过是多了一种颜色选择

    8.  1 <div class="product">
       2     <div class="product-img">
       3         <img src="images/default.jpg" />
       4         <img id="mask" class="mask" src="images/mask.png" />
       5         <div id="overlay" class="secondary"></div>
       6     </div>
       7     
       8     <h3>Product Title</h3>
       9     <p>Product Description</p>
      10     <h4>Choose a Color:</h4>
      11     <div class="swatch">
      12         <a rel="32,223,95" href="#mask" title="Green">Green</a>
      13         <a rel="255,211,8" href="#mask" title="Yellow">Yellow</a>
      14         <a rel="255,101,8" href="#mask" title="Orange">Orange</a>
      15         <a rel="16,200,255" href="#mask" title="Blue">Blue</a>
      16         <a rel="142,8,255" href="#mask" title="Purple">Purple</a>
      17         <a rel="245,25,45" href="#mask" title="Red">Red</a>
      18     </div>
      19     <div class="swatch">
      20         <a rel="32,223,95" href="#overlay" title="Green">Green<</a>
      21         <a rel="255,211,8" href="#overlay" title="Yellow">Yellow<</a>
      22         <a rel="255,101,8" href="#overlay" title="Orange">Orange<</a>
      23         <a rel="16,200,255" href="#overlay" title="Blue">Blue<</a>
      24         <a rel="142,8,255" href="#overlay" title="Purple">Purple<</a>
      25         <a rel="245,25,45" href="#overlay" title="Red">Red</a>
      26     </div>
      27 </div>

      注意到另一种颜色的描点被定义了不同的ID

      现在我们查看SVG文件。在Firefox中打开文件,查看源文件。如果向下滚动,你应该看到一些代码,看起来像这样:

    9. 1 <path
      2     style="fill:#000000"
      3     d="PATH INFORMATION"
      4     id="path3065"
      5     inkscape:connector-curvature="0" />

      复制里面所有的路径信息的d属性的。作用是告诉什么形状的覆盖层。

    10. 1 <div id="overlay" role="m 122,157.36656 c 0,-0.8984 1.575,-4.72394 3.5,-8.50121 1.925,-3.77727 3.5,-7.53364 3.5,-8.3475 0,-1.64341 4.26645,-3.08924 5.98384,-2.02784 0.60363,0.37307 0.81923,1.55509 0.47911,2.62672 -0.60459,1.90489 -0.54408,1.9031 2.70933,-0.0804 3.50484,-2.13682 7.32609,-2.65699 8.27225,-1.12606 0.30942,0.50064 -1.03778,3.92689 -2.99377,7.61388 -1.95599,3.68699 -3.34613,6.91383 -3.0892,7.17076 C 142.15496,156.4883 152,144.71962 152,140.7824 c 0,-2.07889 4.64216,-3.54024 6.22331,-1.95909 0.76917,0.76917 0.007,3.11233 -2.66637,8.20029 -2.05879,3.91788 -3.51487,7.3518 -3.23574,7.63093 1.05266,1.05266 4.70697,-1.83671 7.48665,-5.91952 2.84543,-4.17937 10.4105,-18.58511 11.54529,-21.98501 0.63427,-1.90034 5.10345,-2.43828 6.15269,-0.74057 0.34312,0.55518 -1.24398,4.39311 -3.52689,8.52872 l -4.15074,7.5193 4.02363,-2.09724 c 3.19849,-1.66714 4.44655,-1.87089 6.0859,-0.99354 4.33888,2.3221 1.70199,8.646 -5.03913,12.08506 -4.1929,2.13906 -4.37766,3.94827 -0.4032,3.94827 2.3139,0 4.41145,-1.8378 13.41073,-11.75 3.32655,-3.66401 4.41647,-4.25 7.90479,-4.25 5.3769,0 7.48012,2.15091 7.00233,7.1611 -0.41652,4.3676 0.55193,4.78391 3.8723,1.66459 1.27295,-1.19588 2.31445,-1.72432 2.31445,-1.17432 0,1.45491 -4.13404,5.00778 -6.75,5.80108 -1.2375,0.37528 -2.25,1.0653 -2.25,1.53338 C 200,155.5817 193.27268,159 190.13197,159 186.71236,159 183,156.03973 183,153.31291 c 0,-1.36999 -0.51689,-1.20499 -2.75,0.87781 -5.49767,5.12764 -11.33015,6.39656 -13.21482,2.87502 -1.6943,-3.16584 -1.20247,-4.75381 1.86604,-6.02483 4.36225,-1.8069 7.77317,-5.76652 6.26586,-7.27383 -2.17749,-2.17749 -6.40206,1.43189 -10.0565,8.59203 -2.80122,5.48844 -3.8193,6.64089 -5.86658,6.64089 -2.08565,0 -2.40356,-0.38496 -2.01153,-2.43575 l 0.46562,-2.43576 -3.29407,2.51251 c -3.98446,3.0391 -7.76179,2.86039 -8.22331,-0.38904 l -0.3193,-2.24804 -3.27509,2.49804 c -3.56284,2.71751 -8.06538,3.29798 -8.89107,1.14625 -0.2853,-0.74348 0.63444,-3.90059 2.04387,-7.0158 1.40944,-3.11521 2.30826,-5.91836 1.99739,-6.22923 -1.47402,-1.47403 -5.20975,2.38356 -7.92283,8.18127 C 127.344,157.86205 126.38477,159 124.40574,159 122.84662,159 122,158.42516 122,157.36656 z m 73.78635,-3.55291 c 0.91512,-0.91512 0.81173,-1.60029 -0.45227,-2.99699 -0.90124,-0.99585 -1.60019,-3.162 -1.55323,-4.81365 0.11747,-4.13158 -0.55262,-3.7732 -2.91018,1.55645 -1.59157,3.59802 -1.76476,4.86322 -0.82132,6 1.45043,1.74766 4.12502,1.86617 5.737,0.25419 z m 4.02943,-9.09241 C 199.6421,143.49956 199.05,142.5 198.5,142.5 c -1.23708,0 -1.88591,4.05443 -1.01183,6.32273 0.59536,1.545 0.72507,1.537 1.64486,-0.10149 0.5492,-0.97831 0.85643,-2.77831 0.68275,-4 z m -43.76273,-9.15732 C 154.32376,133.48026 156.43493,130 159.42819,130 c 2.99266,0 3.84963,2.15835 1.93967,4.8852 -1.72469,2.46234 -3.63236,2.70595 -5.31481,0.67872 z" class="secondary"></div>

      4.在CSS当中为 product div.添加相对定位

    11. .product {position:relative;}

      5 最后, 在文档加载完后,调用 productColorizer 插件调用任何您想要的选项

    12. 1 <script type="text/javascript">
      2     $(document).ready(function(){
      3         $('.product').productColorizer();
      4     });
      5 </script>

       演示(点击下面的choose color颜色会变化)

      选项

      名称描述
      transparency颜色叠加图像的透明度。数在0-1之间;默认值:0.55
      secondaryTransparency二次色叠加在图像的透明度。数在0-1之间;默认值:0.55
      swatchTransparency透明度的渐变颜色样本数在0-1之间;默认值:0.75
      swatchClass一类的div包含的样本。如果你改变它的默认,确保相应修改CSS 类名的默认值:swatch'

       

    13.  本文链接:使用jquery打造一个动态的预览产品颜色效果

    14.  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/462984.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java Word转Html

最近转换的需求比较多&#xff0c;最近做了一个Word转Html的 这个要导一个包和配置一个文件 1.jacob.jar 2.与jacob.jar相对应的jacob.dll&#xff08;放在windows/sys32下或者放在jre下面&#xff09; 代码 1 packagetest;2 3 importjava.io.File;4 5 importcom.jacob.activeX…

leveldb中为什么L 0层中每个sst文件中key的范围都是有重叠的?

在leveldb中&#xff0c;level 0层中的sst文件是由immutable memtable通过后台线程flush得到的&#xff0c;但是由于immutable memtable中的key可能是由重复的&#xff0c;因此在leveldb中将sst文件中key的范围有重叠的所有sst文件都放在了level 0层中&#xff0c;而其他level层…

文本分类的一种对抗训练方法

最近阅读了有关文本分类的文章&#xff0c;其中有一篇名为《Adversarail Training for Semi-supervised Text Classification》, 其主要思路实在文本训练时增加了一个扰动因子&#xff0c;即在embedding层加入一个小的扰动&#xff0c;发现训练的结果比不加要好很多。 模型的网…

在leveldb中,为什么要有immutable memtable?

目的是&#xff1a;为了防止写入kv时被阻塞。 设想&#xff0c;如果没有immutable memtable&#xff0c;当memtable满了之后后台线程需要将memtable 立即flush到新建的sst中&#xff0c;在flush的过程中&#xff0c;新的KV记录是无法写入的&#xff0c;只能等待&#xff0c;就…

密码强弱提示(27)

密码的强弱提示是对用户填写登陆密码的复杂程度来给出提示&#xff0c;使用密码的强弱提示可以增强用户对密码的保护意识&#xff0c;对如今的网络是非常有必要的&#xff0c;本程序中当用户输入完密码后&#xff0c;网页会自动的对用户输入的密码给出强弱判断。 使用JavaScrip…

《In Search of an Understandable Consensus Algorithm》翻译

Abstract Raft是一种用于管理replicated log的consensus algorithm。它能和Paxos产生同样的结果&#xff0c;有着和Paxos同样的性能&#xff0c;但是结构却不同于Paxos&#xff1b;它让Raft比Paxos更易于理解&#xff0c;并且也为用它构建实际的系统提供了更好的基础。为了增强…

深度点评五种常见WiFi搭建方案

总结十年无线搭建经验&#xff0c;针对企业常见的五种办公室无线网络方案做个简要分析&#xff0c;各种方案有何优劣&#xff0c;又适用于那种类型的企业。方案一&#xff1a;仅路由器或AP覆盖简述&#xff1a;使用路由器或AP覆盖多个无线盲区&#xff0c;多个AP的部署实现整体…

深入理解Presto

深入理解Presto 简介 Presto是一个facebook开源的分布式SQL查询引擎&#xff0c;适用于交互式分析查询&#xff0c;数据量支持GB到PB字节。presto的架构由关系型数据库的架构演化而来。presto之所以能在各个内存计算型数据库中脱颖而出&#xff0c;在于以下几点&#xff1a; …

设置VS2017背景图片

设置方法很简单&#xff1a;安装扩展ClaudiaIDE 1、在这里下载扩展&#xff0c;https://visualstudiogallery.msdn.microsoft.com/9ba50f8d-f30c-4e33-ab19-bfd9f56eb817 2、然后双击即可完成安装。 之后重启VS&#xff0c;就可以看到编程背景上多了一个萌妹子&#xff0c;据说…

证书的应用之一 —— TCPSSL通信实例及协议分析(上)

SSL(Security Socket Layer)是TLS(Transport Layer Security)的前身&#xff0c;是一种加解密协议&#xff0c;它提供了再网络上的安全传输&#xff0c;它介于网络通信协议的传输层与应用层之间。 为实现TCP层之上的ssl通信&#xff0c;需要用到数字证书。本文通过具体例子来说…

ClickedOnce部署方法

1.ClickedOnce部署时有些DLL和配置文件无法自动部署到系统当中&#xff0c;只能用Manifest Manager Tool 修改manifest 文件 /Files/Tonyyang/Software/ManifestManagerUtility.rar 2.部署文件结构 3.部署方法 首先用VS自带的ClickedOnce发布应用程序&#xff08;博客园有&…

树莓派安装MySQL数据库与卸载

出处&#xff1a; 1、http://www.cnblogs.com/liyangLife/p/4500115.html 2、https://blog.csdn.net/huayucong/article/details/49736427 3、https://www.imooc.com/article/23132?block_idtuijian_wz 4、http://www.runoob.com/mysql/mysql-install.html&#xff08;Debian系…

Visual Studio.net 2010 Windows Service 开发,安装与调试

本示例完成一个每隔一分钟向C:\log.txt文件写入一条记录为例&#xff0c;讲述一个Windows Service 程序的开发,安装与调试 原程序&#xff0c;加文档示例下载 /Files/zycblog/SourceCode.rar 目录索引 1 开发工具 2 开发过程 3 安装 4 开发调试 5 注意事项 6 参考资料…

ArcGis dbf读写——挂接Excel到属性表 C#

ArcMap提供了挂接Excel表格信息到属性表的功能&#xff0c;但是当数据量较大到以万计甚至十万计的时候这个功能就歇菜了&#xff0c;当然&#xff0c;你可以考虑分段挂接。这个挂接功能只是做了一个表关联&#xff0c;属性记录每个字段的信息需要通过“字段计算器”计算过来。 …

VisualStudioAddIn2017.vsix的下载安装和使用

本加载项是用于Visual Studio的&#xff0c;下载以后按照如下步骤进行安装&#xff1a; 完全退出Visual Studio把下载了的文件解压缩&#xff0c;会产生一个VisualStudioAddIn2017.vsix文件双击该文件&#xff0c;按照提示安装重启Visual Studio安装完成后的使用方法&#xff0…

Presto基本概念

Presto基本概念 Presto是Facebook开源的MPP SQL引擎&#xff0c;旨在填补Hive在速度和灵活性&#xff08;对接多种数据源&#xff09;上的不足。相似的SQL on Hadoop竞品还有Impala和Spark SQL等。这里我们介绍下Presto的基本概念&#xff0c;为后续的笔记做基础。 Operator …

2019春第六周编程总结

这个作业属于哪个课程C语言程序设计Ⅱ这个作业要求在哪里https://edu.cnblogs.com/campus/zswxy/MS/homework/2829我在这个课程的目标是利用指针知识解决相关实际问题在具体哪方面帮我实现目标设计密码开锁、交换变量解决问题以及电码加密参考文献C语言基础、http://www.w3scho…

Exchange企业实战技巧(26)在Outlook中打开多个邮箱

工作中&#xff0c;有时要需要让某个用户在outlook中同时打开多个exchange邮箱&#xff0c;对于outlook2010来说&#xff0c;是支持多个Exchange邮箱用户账户的并存&#xff0c;而outlook2007则不支持。那该功能有没其他实现方法呢&#xff1f;答案是有的。 如果你的Exchange是…

Emulator Error: Could not load OpenGLES emulati...

为什么80%的码农都做不了架构师&#xff1f;>>> 模拟器提示警告&#xff1a;Emulator Error: Could not load OpenGLES emulation library: Could not load DLL! 亲测可用&#xff1a; 从SDK\tools\lib目录下将一下四个dll文件复制到SDK\tools&#xff0c;重启模…

关于.net的垃圾回收和大对象处理_标记

CLR垃圾回收器根据所占空间大小划分对象。大对象和小对象的处理方式有很大区别。比如内存碎片整理 —— 在内存中移动大对象的成本是昂贵的&#xff0c;让我们研究一下垃圾回收器是如何处理大对象的&#xff0c;大对象对程序性能有哪些潜在的影响。 大对象堆和垃圾回收 在.Net …