comparison client/digitallibrary/jquery/jquery.digilib.regions.js @ 845:a2b90ad772a0 jquery

why not use coords attribute for coords?
author hertzhaft
date Mon, 07 Mar 2011 09:54:36 +0100
parents 8aa2891583f1
children a43810d16ee5
comparison
equal deleted inserted replaced
844:8aa2891583f1 845:a2b90ad772a0
237 // regions are defined in "a" tags 237 // regions are defined in "a" tags
238 var $content = data.$elem.contents(selector).contents('a'); 238 var $content = data.$elem.contents(selector).contents('a');
239 console.debug("createRegionsFromHTML. elems: ", $content); 239 console.debug("createRegionsFromHTML. elems: ", $content);
240 $content.each(function(index, a) { 240 $content.each(function(index, a) {
241 var $a = $(a); 241 var $a = $(a);
242 // the "rel" attribute contains the region coords 242 // the "coords" attribute contains the region coords (0..1)
243 var rel = $a.attr('rel'); 243 var coords = $a.attr('coords');
244 var area = rel.replace(/^area:/i, ''); 244 var pos = coords.split(",", 4);
245 var pos = area.split("/", 4);
246 var rect = geom.rectangle(pos[0], pos[1], pos[2], pos[3]); 245 var rect = geom.rectangle(pos[0], pos[1], pos[2], pos[3]);
247 regions.push(rect); 246 regions.push(rect);
248 // create the div 247 // create the div
249 var href = $a.attr('href'); 248 var href = $a.attr('href');
250 var $regionDiv = createRegionDiv(regions, index, href); 249 var $regionDiv = createRegionDiv(regions, index, href);
298 var unpackRegions = function (data) { 297 var unpackRegions = function (data) {
299 // create regions from parameters 298 // create regions from parameters
300 var rg = data.settings.rg; 299 var rg = data.settings.rg;
301 if (rg == null) return; 300 if (rg == null) return;
302 var regions = data.regions; 301 var regions = data.regions;
303 var rs = rg.split(","); 302 var rs = rg.split(";");
304 for (var i = 0; i < rs.length; i++) { 303 for (var i = 0; i < rs.length; i++) {
305 var r = rs[i]; 304 var r = rs[i];
306 var pos = r.split("/", 4); 305 var pos = r.split(",", 4);
307 var rect = geom.rectangle(pos[0], pos[1], pos[2], pos[3]); 306 var rect = geom.rectangle(pos[0], pos[1], pos[2], pos[3]);
308 regions.push(rect); 307 regions.push(rect);
309 } 308 }
310 }; 309 };
311 310
318 } 317 }
319 var rg = ''; 318 var rg = '';
320 for (var i = 0; i < regions.length; i++) { 319 for (var i = 0; i < regions.length; i++) {
321 region = regions[i]; 320 region = regions[i];
322 if (i) { 321 if (i) {
323 rg += ','; 322 rg += ';';
324 } 323 }
325 rg += [ 324 rg += [
326 fn.cropFloatStr(region.x), 325 fn.cropFloatStr(region.x),
327 fn.cropFloatStr(region.y), 326 fn.cropFloatStr(region.y),
328 fn.cropFloatStr(region.width), 327 fn.cropFloatStr(region.width),
329 fn.cropFloatStr(region.height) 328 fn.cropFloatStr(region.height)
330 ].join('/'); 329 ].join(',');
331 } 330 }
332 data.settings.rg = rg; 331 data.settings.rg = rg;
333 }; 332 };
334 333
335 // reload display after a region has been added or removed 334 // reload display after a region has been added or removed