对话框/Tips

jQuery实用HTML元素热点标记插件

阿里云

jquery-hotspot 是一款在然后元素上创建和显示热点标记的 jQuery 插件。该热点标记有两种模式:admin 模式和 display 模式。admin 模式下一行可以在所需的元素上创建热点标记。display 模式只能够用于显示热点标记。该热点标记有两种模式:admin 模式和 display 模式。admin 模式下一行可以在所需的元素上创建热点标记。display 模式只能够用于显示热点标记。热点标记是可以完全自定义的,一行可以通过 CSS 来控制热点标记的样式。

使用方法:

使用该热点标记插件先要引入 jQuery 和 jquery.hotspot.js 及 jquery.hotspot.css 文件。

也想出现在这里?联系我们
创客主机
  1. <link rel="stylesheet" type="text/css" href="css/jquery.hotspot.css">
  2. <script type="text/javascript" src="js/jquery.min.js"></script>
  3. <script type="text/javascript" src="js/jquery.hotspot.js"></script>

HTML 结构:

将需要制作热点标记的元素使用另一个块级元素进行包裹。

  1. <div id="theElement">
  2.     <img src="theImage.jpg" width="600" height="400">
  3. </div>

后面会使用该包裹元素#theElement 来调用插件。
注意:告别元素的 position 属性不需要设置为绝对定位,你可以按照下面的代码来设置:

  1. #theElement {
  2.     position: relative;
  3.     display: inline-block;
  4. }

Display 模式:

热点标记关联的数据可以直接通过插件参数来传递,也可以通过 ajax 来动态调用热点标记的数据。

在热点标记互动中有三个可用的参数: hover, click 和 none。

hover:热点标记关联的数据会在鼠标滑过热点时显示

click:热点标记关联的数据会在鼠标点击热点时显示

none:热点标记关联的数据将会静态显示,不受任何事件的影响

已知坐标系时的基本调用

  1. $('#theElement').hotspot(
  2.     data: [
  3.         { "x":288, "y":390, "Title":"The Title","Message":"Create the Message here" },
  4.         { "x":143, "y":400, "Title":"jQuery Hotspot","Message":"This jQuery Plugin lets you create hotspot to any HTML element." }
  5.     ],
  6.     tag: 'img', //optional (default is img)
  7.     interactivity: "hover", // options : click, none (default is hover)
  8.     hotspotClass: 'Hotspot'
  9. );

上面的 data 对象中可以有任意数量的属性,并且可以使用 CSS 来定义样式。tag 变量用于决定热点标记的类型。hotspotClass 是热点标记的 class 名称。可以通过下盖该 class 来修改热点标记的外观样式。通过 AJAX 调用来附加数据

  1. $("#theElement").hotspot({
  2.     ajax: true, // Switching on the ajax
  3.     ajaxOptions: {
  4.         url: 'parse.php',
  5.         type: 'GET',
  6.         ...
  7.     },
  8.     interactivity: "hover" // options : click, none (default is hover)
  9. });

热点标记的数据来自于服务器端的 JSON 格式数据。ajaxOptions 对象可以用来修改 HTTP 的请求头。

标准调用:

  1. $("#theElement").hotspot({
  2.     mode: "admin", // Switching to admin mode
  3.     ajax: true, // Turn on ajax
  4.     ajaxOptions: {
  5.         url: 'parse.php',
  6.         type: 'POST',
  7.         ...
  8.     },
  9.     interactivity: "hover" // options : click, none (default is hover)
  10. });

这里 ajax 和 ajaxOptions 是必须的,用于在 admin 模式中创建热点标记内容并保存于服务器端。在一些不能使用 AJAX 的情况下,数据会被保存在浏览器的 LocalStorage 中。
关键特性,任何数量的信息/节点都可以填充在单个的热点中。可以使用 dataStuff 参数来进行传递。默认情况先该参数有两个节点:标题和内容。

  1. $("#theElement").hotspot({
  2.     mode: "admin", // Switching to admin mode
  3.     ajax: true, // Turn on ajax
  4.     ajaxOptions: {
  5.         url: 'parse.php',
  6.         type: 'POST',
  7.         ...
  8.     },
  9.     dataStuff: [
  10.         {
  11.             'property': 'Time',
  12.             'default': '5:40am'
  13.         },
  14.         {
  15.             'property': 'Date',
  16.             'default': '12/11/2014'
  17.         },
  18.         {
  19.             'property': 'Place',
  20.             'default': 'Siberia'
  21.         },
  22.     ]
  23. });

上面的 dataStuff 参数中的 default 属性在每次创建新的热点时都会被覆盖。该插件在创建热点标记的线程中也提供了一些可用的回调函数。

  1. $("#theElement").hotspot({
  2.     mode: "admin", // Switching to admin mode
  3.     ajax: true, // Turn on ajax
  4.     ajaxOptions: {
  5.         url: 'parse.php',
  6.         type: 'POST',
  7.         ...
  8.     },
  9.     afterSave: function(message) {
  10.         alert(message);
  11.     },
  12.     afterRemove: function(message) {
  13.         alert(message);
  14.         window.location.reload();
  15.     },
  16.     afterSyncToServer: function(message) {
  17.         alert(message);
  18.     }
  19. });

这些事件可以用来跟踪热点标记的创建过程。该热点标记插件可以用于页面中任何数量的 HTML 标签中。要制作这种效果,可以使用 LS_Variable 变量来传递页面中元素标识符(每个元素必须是唯一的 ID 标识符)。这样做可以使插件在使用 HTML5 LocalStorage 是避免产生冲突。还有保存、删除和服务器同步按钮也必须使用唯一的标识符。

  1. <div id="theElement-a">
  2.     <img src="theImage-a.jpg" width="600" height="400">
  3. </div>
  4. <div id="theElement-b">
  5.     <img src="theImage-b.jpg" width="600" height="400">
  6. </div>                
  7. $("#theElement-a").hotspot({
  8.     mode: "admin",
  9.     ...
  10.     LS_Variable: "HotspotPlugin-a",
  11.     done_btnId: 'done-a',
  12.     remove_btnId: 'remove-a',
  13.     server_btnId: 'server-a',
  14. });
  15.  
  16. $("#theElement-b").hotspot({
  17.     mode: "admin",
  18.     ...
  19.     LS_Variable: "HotspotPlugin-b",
  20.     done_btnId: 'done-b',
  21.     remove_btnId: 'remove-b',
  22.     server_btnId: 'server-b',
  23. });

jQuery 实用 HTML 元素热点标记插件

已有 529 人购买
查看演示升级 VIP立刻购买

演示地址 下载地址
收藏
(0)

发表回复

热销模板

Ashade - 作品展示摄影相册WordPress汉化主题
LensNews

本站承接 WordPress / PbootCMS / DedeCMS 等
系统建站、仿站、开发、定制等业务!