通过图片 找到桌面相同图片区域坐标_【Axure RP9原型案例】京东与淘宝的商品图片是如何被放大的...

摘要:在电商的商品详情页中我们经常会看到图片放大器的运用,我们以京东商品详情页为例来制作这样的原型效果。案例中综合运用了鼠标移入事件、鼠标移动事件,元件的移动、元件的显示/隐藏等交互动作。

7ebda8a2b8e3445d2982a3b9466b320b.png

京东示意图

观察交互

首先我们观察京东详情页中的图片放大效果。当鼠标在左侧图片上方移动时,图片上方会出现一个半透明的图层跟随鼠标移动,我们将这个半透明的图层称之为放大镜。同时在原图右侧会出现一张放大版的高清大图,高清大图显示的图片信息与左侧半透明图层下的图片信息一致。鼠标移出原图范围边界时,放大镜不在移动,同时右侧的高清大图消失。商品图片下方有多张缩略图,鼠标在这些缩略图之间来回移动可切换上方的商品图片。鼠标停留在缩略图上方时,缩略图会有一个选中效果,边框变为了红色。

思路分析

商品原图以及放大版的高清大图可以用动态面板盛放,动态面板的每个状态放置一张商品图片。商品图片及高清大图这两个动态面板中的图片顺序尽量保持一致。两个动态面板的尺寸相同,这里切记不要勾选自适应内容。

通过为页面设置鼠标移动事件,控制放大镜的移动,放大镜随鼠标移动,放大镜在水平方向的位置为鼠标的横坐标-放大镜一半的宽度,垂直方向的位置为鼠标的纵坐标-放大镜一半的高度。在设置交互之前,我们需要添加一些逻辑判断条件,限制鼠标的移动范围,即鼠标仅能在商品图片的动态面板内移动。

在这个交互事件中,我们还需要确定高清大图的坐标位置。与商品原图不同的是,商品原图上方的放大镜在移动,商品图片不动;右侧的高清大图在移动,上方的放大镜不动(这里的放大镜用于辅助理解,实际上不存在)。所以高清大图的移动距离=-放大镜相较于商品原图的移动距离x图片的放大倍数(高清大图的尺寸/商品原图尺寸)。放大镜的移动距离=放大镜的坐标-商品原图的坐标。

放大镜的默认位置与商品图片的位置一致,这里建议放大镜的尺寸大于等于商品图片的一半尺寸。默认隐藏放大镜和高清大图的动态面板。

缩略图切换商品图片这一交互效果,可以通过鼠标移入事件来显示不同的商品原图和高清大图。

制作原型

元件准备

拖动一个动态面板至设计区域,为动态面板增加5个状态,每个状态页面中放大一张商品图片,商品图片尺寸为400x400。再从元件库拖动一个动态面板至右侧,为动态面板增加5个状态,每个状态页面中放置一张高清大图,大图尺寸为800x800。放置一个红色半透明的矩形至商品图片动态面板的上方,矩形尺寸为200x200,矩形与商品图片位置相同。

8ab7317962ccd2fbb01d9f60a4bd6d17.png

图2-线框图

放大图片

为页面设置鼠标移动事件,添加逻辑条件,当鼠标的移动范围不超出原图动态面板的边界且动态面板状态为图1时,显示放大镜,移动放大镜至绝对位置([[Cursor.x-Target.width/2]],[[Cursor.y-Target.height/2]]),显示高清大图1,移动高清大图1至绝对位置([[(LVAR2.x-LVAR1.x)*2]],[[(LVAR2.y-LVAR1.y)*2]])。案例中有5张商品图片,同样的原理,为另外4张商品图片设置交互情形。最后还要为商品添加一个情形,即当鼠标移出商品图片边界外时,隐藏放大镜和高清大图。

c7af508bc948ab7fd18329845f163f9e.png

图3-放大图片

b6250819d5bf81de1803421c7b3361a7.png

图4-隐藏放大镜和高清大图

切换商品图片

将5张商品缩略图设置为一个选项组,为缩略图设置选中样式,即选中时边框线为红色。为每个缩略图添加鼠标移入事件,选中缩略图,切换商品图片和高清大图的动态面板状态,显示对应的图片。

049497d50528d582f0262c88e72790af.png

图5-缩略图设置选中样式

c0afc12f7dc4789c369dd383c62a6167.png

图6-切换商品图片

到这里,原型已经制作完毕,点击预览,在浏览器中查看原型。


关注头条号私信可获取源文件及Axure RP9安装包,本账号将不定期更新更多关于Axure RP9的原创教程。

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

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

相关文章

ref的mysql_ref:Mysql授权远程登陆

在Windows环境上操作。步骤如下:1. 打开cmd窗口,登陆mysqlmysql -uroot -p1234562.使用mysql数据库use mysql3.查看结果中host一行中是否有%,如果有%,此行用户名允许远程登录。下图所示,白色框中表示允许远程登录的账号&#xff1…

每当处于窘境时,想想当初坚持的理由

突然间想起了关于信仰的话题,自己不想很多伟大和强悍的人,有着坚忍不催的信仰,很多事想做就不顾后果的做了,常常会弄得最后一塌糊涂甚至后悔莫及,回想伴着ACM一路渴磕磕碰碰,走走停停,最终却是一…

mysql 5.7.4 m14_win7 64位下如何安装配置mysql-5.7.4-m14-winx64(安装记录)

1. mysql-5.7.4-m14-winx64.zip下载官方网站下载地址:http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.17-winx64.zip2、解压到D:\mysql.(路径自己指定)3、在D:\mysql\mysql-5.7.4-m14-winx64下新建my.ini配置文件内容如下:#################…

python中的sorted是什么意思_python中sort与sorted区别

1、sort()函数 (只对list有用)sort(...)L.sort(key None,reverseFalse)key 函数 这个函数会从每个元素中提取一个用于比较的关键字。默认是Nonereverse True/False (默认是False升序;True:降序)作用:对原序列进行排序,也就是直…

怎样在wp7中检测“主题背景”

由于Windows Phone 可以使用深色&#xff08;黑色&#xff09;或淡色&#xff08;白色&#xff09;主题&#xff0c;知道用户的主题以确定你的应用程序的颜色模式是很重要的一件事。 XAML <Grid x:Name"LayoutRoot" Background"Transparent"><Sta…

mysql执行计划中的temp_MYSQL语句调优:GROUP BY ORDER BY语句中出现USING TEMPATORY

CREATE TABLE WCC_BYPrice (BPRID int(11) NOT NULL AUTO_INCREMENT,PRID int(11) NOT NULL COMMENT 价格表主键,PKID int(11) NOT NULL COMMENT 商品表主键,BRID mediumint(8) NOT NULL COMMENT 品牌id,STID mediumint(8) NOT NULL COMMENT 商家id,CRCode varchar(8) DEFAULT …

json格式校验并显示错误_使用postman做自动化接口校验

要想实现接口的自动化测试&#xff0c;需要以下几个步骤&#xff1a;自动登录首先点击postman左上角的new按钮&#xff0c;创建一个collection&#xff0c;在pre-request-scripts标签下&#xff0c;给整个collection创建一个公用规则编写登录脚本pre-request-scripts在请求发送…

前端学习(2906):Vite 解决了 Webpack 哪些问题

随着项目的复杂度升级&#xff0c;代码规范和管理就必须要同步提升。于是&#xff0c;编程社区中提出了多种模块化规范&#xff0c;服务端选择了 CommonJS 规范&#xff0c;客户端选择 AMD 规范较多&#xff0c;但是&#xff0c;两种模块化规范也都存在一定的问题&#xff0c;都…

wpf 去除按钮点击时会画一个点线的矩形

wpf 去除按钮点击时会画一个点线的矩形 最近在研究wpf&#xff0c;啥都不懂&#xff0c;特把自己查到的有用东西&#xff0c;收集一下&#xff1a;<Pagexmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://schemas.microsoft.…

tfidf算法 python_tf–idf算法解释及其python代码实现(下)

tf–idf算法python代码实现这是我写的一个tf-idf的简单实现的代码&#xff0c;我们知道tfidftf*idf&#xff0c;所以可以分别计算tf和idf值在相乘&#xff0c;首先我们创建一个简单的语料库&#xff0c;作为例子&#xff0c;只有四句话&#xff0c;每句表示一个文档copus[我正在…

powerbuilder提示不是下拉窗口_为什么过去状态管理不是问题?

2-tier 架构远古时期&#xff0c;状态是完全由数据库管理的。数据库提供的连接是有状态的&#xff0c;打开页面的时候开连接&#xff0c;页面上的改动直接提交到当前的数据库连接。数据库连接的状态就是页面状态。3-tier 架构后来因为互联网类型的应用的发展&#xff0c;数据库…

mysql 查询前10门课程_数据库面试题:如何查找每门课程的前3名?

看到别人的面经里有类似这样一个问题&#xff0c;我自己试了下&#xff0c;感觉做不出来。DROP TABLE IF EXISTS SC;CREATE TABLE SC (SId varchar(10) DEFAULT NULL,CId varchar(10) DEFAULT NULL,score decimal(18,1) DEFAULT NULL);INSERT INTO SC VALUES (01, 01, 80.0);IN…

Java编程程序异常处理方法

对于java异常处理你是否都掌握了呢&#xff0c;如果是&#xff0c;你是否能在下面这段代码中&#xff0c;迅速找出异常处理的六个问题吗&#xff1f; 1、OutputStreamWriter out …   2、java.sql.Connection conn …   3、try { // ⑸   4、 Statement stat conn.…

[html] img中的src加载失败时如何用默认图片来替换呢?

[html] img中的src加载失败时如何用默认图片来替换呢&#xff1f; img有onerror属性&#xff0c;加载失败时触发error事件 但是这种解决方法在error里面替换的默认图片也加载失败的时候会导致问题&#xff0c;需要注意个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端…

学完php在学python_写给PHP程序员的 Python学习指南(建议去看原文)

原文&#xff1a;https://segmentfault.com/a/1190000019710720一、背景人工智能这几年一直都比较火&#xff0c;笔者一直想去学习一番&#xff1b;因为一直是从事PHP开发工作&#xff0c;对于Python接触并不算多&#xff0c;总是在关键时候面临着 基础不牢&#xff0c;地动山摇…

mysql 实例复制_MYSQL教程MySQL 复制详解及简单实例

《MysqL教程MysqL 复制详解及简单实例》要点&#xff1a;本文介绍了MysqL教程MysqL 复制详解及简单实例&#xff0c;希望对您有用。如果有疑问&#xff0c;可以联系我们。MysqL 复制详解及简单实例主从复制技术在MysqL中被广泛使用,主要用于同步一台服务器上的数据至多台从服务…

[html] 解释下什么是CDATA?

[html] 解释下什么是CDATA&#xff1f; CDATA 指的是不由 XML 解析器进行解析的文本数据。XML 文档中的所有文本均会被解析器解析。只有 CDATA 区段中的文本会被解析器忽略。个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很…