2010-08-27 2 views
1

Я использую этот плагин http://davidlynch.org/js/maphilight/docs/JQuery maphilight изменить цвет на лету

Но не могу понять, как изменить цвет на лету. Он использует плагин метаданных и выполняет это через директиву класса, но изменения не применяются на лету.

например.

class="{stroke:false,fillColor:'000000',fillOpacity:1,alwaysOn:true}" 

и теперь я хочу, чтобы изменить цвет:

class="{stroke:false,fillColor:'00ffff',fillOpacity:1,alwaysOn:true}" 
+1

У вас есть установки образца где-нибудь, чтобы проверить с? Потому что при чтении документации на сайт кажется, что это должно быть довольно просто, потому что вы можете передавать параметры функции выделения. http://davidlynch.org/js/maphilight/docs/ – spinon

+1

Да, но maphilight() следует применять к корневому элементу карты, а не к области. И изменение класса с соответствующими метаданными и отзыв maphilight() не имеет никакого эффекта. –

+0

Вы можете попробовать изменить цвет на лету на этой странице через JS Console http://davidlynch.org/js/maphilight/docs/demo_simple.html –

ответ

0

ОК, я обнаружил, что с помощью холста решить мою проблему.

2

вам нужен этот плагин, чтобы включить

<script type="text/javascript">/* 
* Metadata - jQuery plugin for parsing metadata from elements 
* 
* Copyright (c) 2006 John Resig, Yehuda Katz, J�örn Zaefferer, Paul McLanahan 
* 
* Dual licensed under the MIT and GPL licenses: 
* http://www.opensource.org/licenses/mit-license.php 
* http://www.gnu.org/licenses/gpl.html 
* 
* Revision: $Id: jquery.metadata.js 3620 2007-10-10 20:55:38Z pmclanahan $ 
* 
*/ 
(function($){$.extend({metadata:{defaults:{type:'class',name:'metadata',cre:/({.*})/,single:'metadata'},setType:function(type,name){this.defaults.type=type;this.defaults.name=name;},get:function(elem,opts){var settings=$.extend({},this.defaults,opts);if(!settings.single.length)settings.single='metadata';var data=$.data(elem,settings.single);if(data)return data;data="{}";if(settings.type=="class"){var m=settings.cre.exec(elem.className);if(m)data=m[1];}else if(settings.type=="elem"){if(!elem.getElementsByTagName)return;var e=elem.getElementsByTagName(settings.name);if(e.length)data=$.trim(e[0].innerHTML);}else if(elem.getAttribute!=undefined){var attr=elem.getAttribute(settings.name);if(attr)data=attr;}if(data.indexOf('{')<0)data="{"+data+"}";data=eval("("+data+")");$.data(elem,settings.single,data);return data;}}});$.fn.metadata=function(opts){return $.metadata.get(this[0],opts);};})(jQuery);</script> 
Смежные вопросы