Mercurial > hg > digilib
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 |