一款简单的jQuery图片标注效果附源码下载


Posted in Javascript onMarch 22, 2016

为了提高用户体验度,在一些电商网站和家居网站上我们会看到,一张图片中显示多种商品,点击每个商品可以弹出对应商品的简单介绍,包括价格等等,设计非常的人性化,今天我们通过实例给大家分享使用jQuery插件来实现这一效果。

先给大家展示下效果图:

一款简单的jQuery图片标注效果附源码下载

效果演示          源码下载

HTML

首先,我们加载jQuery库和easypin插件。

<script src="jquery.min.js"></script> 
<script src="jquery.easing.min.js"></script> 
<script src="jquery.easypin.min.js"></script>

接着,我们准备一张图片,这是一张展示多个模特服装鞋子包包内的电商图片,注意我们给图片一个easypin-id属性,它用来标记当前图片id,用来被后面插件调用。

<img src="fashion.jpg" class="pin" width="900" easypin-id="demo_image_1" />

我们还需要制作一个用于弹出显示商品信息的隐藏层,使用属性easypin-tpl来标记弹出层。标签popover是弹出层元素,标签marker是标注点元素。再配合CSS来让弹出层有一个漂亮的外观。

<div style="display:none;" easypin-tpl> 
<popover> 
<div class="exPopoverContainer"> 
<div class="popBg borderRadius"></div> 
<div class="popBody"> 
<div class="arrow-down" style="top: 170px;left: 13px;"></div> 
<h1>{[name]}</h1> 
<div class="popHeadLine"></div> 
<div class="popContentLeft"> 
{[description]} 
<br /> 
<br /> 
<a href="#">Buy</a> 
<a href="#">More info</a> 
</div> 
<div class="popContentRight">{[price]}</div> 
</div> 
</div> 
</popover> 
<marker> 
<div class="marker2 element-animation"> 
</div> 
</marker> 
</div>

jQuery

插件提供了easypin()和easypinShow()两个方法,我们使用easypinShow()来展示图片标注效果,它有一个data选项,支持json格式,它定义标注点相关数据,包括坐标位置,商品名称、描述和价格,这些数据可以是后台统一生成。它还提供了很多其他选项和回调函数,请看下面的代码。

$(document).ready(function(){ 
$('.pin').easypinShow({ 
data: '{"demo_image_1":{"0":{"name":"商品名称","description":"商品描述信息. ","price":"$67","coords":{"lat":"800","long":"228"}},"1":{"name":"Pierre Cardin","description":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore. ","price":"$98","coords":{"lat":"597","long":"357"}},"2":{"name":"Pierre Cardin","description":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. ","price":"$100","coords":{"lat":"241","long":"352"}},"canvas":{"src":"fashion.jpg","width":"1000","height":"625"}}}', 
responsive: false, 
variables: { 
firstname: function(canvas_id, pin_id, data) { 
//console.log(canvas_id, pin_id, data); 
return data; 
}, 
surname: function(canvas_id, pin_id, data) { 
//console.log(canvas_id, pin_id, data); 
return data; 
} 
}, 
popover: { 
show: false, 
animate: true 
}, 
each: function(index, data) { 
return data; 
}, 
error: function(e) { 
console.log(e); 
}, 
success: function() { 
console.log('ok'); 
} 
}); 
});

easypin()可以用来实现图片标注效果,您可以在图片上任意位置标注,然后再弹出层中填写标注信息提交即可,支持拖动等等

一款简单的jQuery图片标注效果附源码下载到此就给大家介绍完了,希望对大家有所帮助!

Javascript 相关文章推荐
js对象之JS入门之Array对象操作小结
Jan 09 Javascript
JS 各种网页尺寸判断实例方法
Apr 18 Javascript
js验证整数加保留小数点的简单实例
Dec 02 Javascript
jquery判断浏览器后退时候弹出消息的方法
Aug 11 Javascript
使用js画图之圆、弧、扇形
Jan 12 Javascript
简介JavaScript中的setTime()方法的使用
Jun 11 Javascript
jquery模拟进度条实现方法
Aug 03 Javascript
实例讲解避免javascript冲突的方法
Jan 03 Javascript
jQuery插件HighCharts绘制2D带Label的折线图效果示例【附demo源码下载】
Mar 08 Javascript
浅谈vue同一页面中拥有两个表单时,的验证问题
Sep 18 Javascript
vue.js仿hover效果的实现方法示例
Jan 28 Javascript
koa-router路由参数和前端路由的结合详解
May 19 Javascript
酷炫jQuery全屏3D焦点图动画效果
Mar 22 #Javascript
浅析C/C++,Java,PHP,JavaScript,Json数组、对象赋值时最后一个元素后面是否可以带逗号
Mar 22 #Javascript
使用struts2+Ajax+jquery验证用户名是否已被注册
Mar 22 #Javascript
使用getBoundingClientRect方法实现简洁的sticky组件的方法
Mar 22 #Javascript
Node.js文件操作方法汇总
Mar 22 #Javascript
浅谈Sticky组件的改进实现
Mar 22 #Javascript
使用Sticky组件实现带sticky效果的tab导航和滚动导航的方法
Mar 22 #Javascript
You might like
与数据库连接
2006/10/09 PHP
discuz安全提问算法
2007/06/06 PHP
无刷新动态加载数据 滚动条加载适合评论等页面
2013/10/16 PHP
php表单请求获得数据求和示例
2014/05/15 PHP
关于WordPress的SEO优化相关的一些PHP页面脚本技巧
2015/12/10 PHP
JSON两种结构之对象和数组的理解
2016/07/19 PHP
Yii Framework框架开发微信公众平台示例
2020/04/26 PHP
Jquery上传插件 uploadify v3.1使用说明
2012/06/18 Javascript
JQuery+DIV自定义滚动条样式的具体实现
2013/06/25 Javascript
node.js中的fs.statSync方法使用说明
2014/12/16 Javascript
JavaScript获取网页、浏览器、屏幕高度和宽度汇总
2014/12/18 Javascript
jquery判断复选框选中状态以及区分attr和prop
2015/12/18 Javascript
JavaScript优化专题之Loading and Execution加载和运行
2016/01/20 Javascript
微信小程序 Storage API实例详解
2016/10/02 Javascript
js定时器实现倒计时效果
2017/11/05 Javascript
vue element-ui 绑定@keyup事件无效的解决方法
2018/03/09 Javascript
Vue中的异步组件函数实现代码
2018/07/20 Javascript
angularJs自定义过滤器实现手机号信息隐藏的方法
2018/10/08 Javascript
javascript中一些奇葩的日期换算方法总结
2018/11/14 Javascript
pageGroup.js实现分页功能
2019/07/27 Javascript
JS 设计模式之:单例模式定义与实现方法浅析
2020/05/06 Javascript
python实现通过pil模块对图片格式进行转换的方法
2015/03/24 Python
numpy中实现ndarray数组返回符合特定条件的索引方法
2018/04/17 Python
Python处理菜单消息操作示例【基于win32ui模块】
2018/05/09 Python
Flask之flask-session的具体使用
2018/07/26 Python
Python标准库使用OrderedDict类的实例讲解
2019/02/14 Python
Python多进程fork()函数详解
2019/02/22 Python
详解python多线程之间的同步(一)
2019/04/03 Python
Django实现celery定时任务过程解析
2020/04/21 Python
python小白切忌乱用表达式
2020/05/29 Python
印度婴儿用品在线商店:Firstcry.com
2016/12/05 全球购物
本科毕业生求职自荐信
2014/02/03 职场文书
甜品蛋糕店创业计划书范文
2014/02/06 职场文书
2016大学生就业指导课心得体会
2016/01/15 职场文书
浅谈mysql增加索引不生效的几种情况
2021/06/23 MySQL
PostgreSQL出现死锁该如何解决
2022/05/30 PostgreSQL