Skip to content

Commit 03b067a

Browse files
committed
v1.0.3: improved memory management and encapsulation
1 parent ec21ed9 commit 03b067a

File tree

4 files changed

+31
-31
lines changed

4 files changed

+31
-31
lines changed

bower.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "image-map",
3-
"version": "1.0.2",
3+
"version": "1.0.3",
44
"authors": [
55
"clarketm <[email protected]>"
66
],

image-map.js

Lines changed: 27 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/**
22
*
3-
* Image-Map v1.0.2 (https://www.travismclarke.com)
3+
* Image-Map v1.0.3 (https://www.travismclarke.com)
44
* Copyright 2016 Travis Clarke
55
* License: MIT
66
*
@@ -31,41 +31,41 @@
3131

3232
self.selector = selector instanceof $ ? selector.toArray() : [].slice.call(document.querySelectorAll(selector));
3333

34-
self.selector.forEach(function (val) {
35-
var img = val,
36-
newImg = document.createElement('img');
34+
(self.update = function () {
35+
self.selector.forEach(function (val) {
36+
var img = val,
37+
newImg = document.createElement('img');
3738

38-
if (typeof img.getAttribute('usemap') === 'undefined') { return; }
39+
if (typeof img.getAttribute('usemap') === 'undefined') { return; }
3940

40-
newImg.addEventListener('load', function () {
41-
var clone = new Image();
42-
clone.src = img.getAttribute('src');
41+
newImg.addEventListener('load', function () {
42+
var clone = new Image();
43+
clone.src = img.getAttribute('src');
4344

44-
var w = img.getAttribute('width') || clone.width,
45-
h = img.getAttribute('height') || clone.height,
46-
wPercent = img.offsetWidth / 100,
47-
hPercent = img.offsetHeight / 100,
48-
map = img.getAttribute('usemap').replace('#', ''),
49-
c = 'coords';
45+
var w = img.getAttribute('width') || clone.width,
46+
h = img.getAttribute('height') || clone.height,
47+
wPercent = img.offsetWidth / 100,
48+
hPercent = img.offsetHeight / 100,
49+
map = img.getAttribute('usemap').replace('#', ''),
50+
c = 'coords';
5051

51-
[].forEach.call(document.querySelectorAll('map[name="' + map + '"] area'), function (val) {
52-
var area = val,
53-
coordsS = area.dataset[c] = area.dataset[c] || area.getAttribute(c),
54-
coordsA = coordsS.split(','),
55-
coordsPercent = Array.apply(null, Array(coordsA.length));
52+
[].forEach.call(document.querySelectorAll('map[name="' + map + '"] area'), function (val) {
53+
var area = val,
54+
coordsS = area.dataset[c] = area.dataset[c] || area.getAttribute(c),
55+
coordsA = coordsS.split(','),
56+
coordsPercent = Array.apply(null, Array(coordsA.length));
5657

57-
coordsPercent.forEach(function (val, i) {
58-
coordsPercent[i] = i % 2 === 0 ? Number(((coordsA[i] / w) * 100) * wPercent) : Number(((coordsA[i] / h) * 100) * hPercent);
58+
coordsPercent.forEach(function (val, i) {
59+
coordsPercent[i] = i % 2 === 0 ? Number(((coordsA[i] / w) * 100) * wPercent) : Number(((coordsA[i] / h) * 100) * hPercent);
60+
});
61+
area.setAttribute(c, coordsPercent.toString());
5962
});
60-
area.setAttribute(c, coordsPercent.toString());
6163
});
64+
newImg.setAttribute('src', img.getAttribute('src'));
6265
});
63-
newImg.setAttribute('src', img.getAttribute('src'));
64-
});
66+
})();
6567

66-
window.addEventListener('resize', function () {
67-
return new ImageMap(selector);
68-
});
68+
window.addEventListener('resize', self.update);
6969

7070
return self;
7171
};

image-map.min.js

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "image-map",
3-
"version": "1.0.2",
3+
"version": "1.0.3",
44
"authors": [
55
"clarketm <[email protected]>"
66
],

0 commit comments

Comments
 (0)