一款简单的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 相关文章推荐
jQuery用unbind方法去掉hover事件及其他方法介绍
Mar 18 Javascript
js和html5实现手机端刮刮卡抽奖效果完美兼容android/IOS
Nov 18 Javascript
AngularJS实现全选反选功能
Dec 08 Javascript
node.js微信公众平台开发教程
Mar 04 Javascript
浅谈javascript中的call、apply、bind
Mar 06 Javascript
微信小程序 倒计时组件实现代码
Oct 24 Javascript
整理关于Bootstrap列表组的慕课笔记
Mar 29 Javascript
Angular 2父子组件数据传递之@Input和@Output详解(下)
Jul 05 Javascript
初探Vue3.0 中的一大亮点Proxy的使用
Dec 06 Javascript
详解elementui之el-image-viewer(图片查看器)
Aug 30 Javascript
jQuery实现日历效果
Sep 11 jQuery
如何利用React实现图片识别App
Feb 18 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
php合并数组中相同元素的方法
2014/11/13 PHP
详解PHP中的null合并运算符
2015/12/30 PHP
简介PHP的Yii框架中缓存的一些高级用法
2016/03/29 PHP
Javascript优化技巧(文件瘦身篇)
2008/01/28 Javascript
15条JavaScript最佳实践小结
2013/08/09 Javascript
JQuery页面图片切换和新闻列表滚动效果的具体实现
2013/09/26 Javascript
深入解析JavaScript中的变量作用域
2013/12/06 Javascript
jQuery实现的导航条切换可显示隐藏
2014/10/22 Javascript
jQuery插件Slider Revolution实现响应动画滑动图片切换效果
2015/06/05 Javascript
浅析Bootstrap组件之面板组件
2016/05/04 Javascript
Bootstrap自动适应PC、平板、手机的Bootstrap栅格系统
2016/05/27 Javascript
JavaScript 对象字面量讲解
2016/06/06 Javascript
详解为Angular.js内置$http服务添加拦截器的方法
2016/12/20 Javascript
ES6概念 Symbol toString()方法
2016/12/25 Javascript
Web纯前端“旭日图”实现元素周期表
2017/03/10 Javascript
jQuery Ajax前后端使用JSON进行交互示例
2017/03/17 Javascript
详解微信小程序 相对定位和绝对定位
2017/05/11 Javascript
解决eclipse中没有js代码提示的问题
2018/10/10 Javascript
使用webpack搭建vue项目及注意事项
2019/06/10 Javascript
js实现盒子拖拽动画效果
2020/08/09 Javascript
[03:02]安得倚天剑,跨海斩长鲸——中国军团出征DOTA2国际邀请赛
2018/08/14 DOTA
用实例说明python的*args和**kwargs用法
2013/11/01 Python
python数据类型判断type与isinstance的区别实例解析
2017/10/31 Python
使用Flask集成bootstrap的方法
2018/07/24 Python
如何利用pycharm进行代码更新比较
2020/11/04 Python
加拿大最大的箱包及旅游配件零售商:Bentley Leathers
2017/07/19 全球购物
捷克家居装饰及图书音像购物网站:Velký košík
2018/04/16 全球购物
Tod’s英国官方网站:意大利奢华手工制作手袋和鞋履
2019/03/15 全球购物
一份Java笔试题
2012/02/21 面试题
《富饶的西沙群岛》教学反思
2014/04/09 职场文书
2014年优秀党员材料
2014/12/18 职场文书
辩护词范文大全
2015/05/21 职场文书
公司2015年终工作总结
2015/05/26 职场文书
素质教育学习心得体会
2016/01/19 职场文书
MySQL 视图(View)原理解析
2021/05/19 MySQL
Axios代理配置及封装响应拦截处理方式
2022/04/07 Vue.js