Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * rwdImageMaps jQuery plugin v1.5
- *
- * Allows image maps to be used in a responsive design by recalculating the area coordinates to match the actual image size on load and window.resize
- *
- * Copyright (c) 2013 Matt Stow
- * https://github.com/stowball/jQuery-rwdImageMaps
- * http://mattstow.com
- * Licensed under the MIT license
- */
- ;
- (function(a) {
- a.fn.rwdImageMaps = function() {
- var c = this;
- var b = function() {
- c.each(function() {
- if (typeof(a(this).attr("usemap")) == "undefined") {
- return
- }
- var e = this,
- d = a(e);
- a("<img />").load(function() {
- var g = "width",
- m = "height",
- n = d.attr(g),
- j = d.attr(m);
- if (!n || !j) {
- var o = new Image();
- o.src = d.attr("src");
- if (!n) {
- n = o.width
- }
- if (!j) {
- j = o.height
- }
- }
- var f = d.width() / 100,
- k = d.height() / 100,
- i = d.attr("usemap").replace("#", ""),
- l = "coords";
- a('map[name="' + i + '"]').find("area").each(function() {
- var r = a(this);
- if (!r.data(l)) {
- r.data(l, r.attr(l))
- }
- var q = r.data(l).split(","),
- p = new Array(q.length);
- for (var h = 0; h < p.length; ++h) {
- if (h % 2 === 0) {
- p[h] = parseInt(((q[h] / n) * 100) * f)
- } else {
- p[h] = parseInt(((q[h] / j) * 100) * k)
- }
- }
- r.attr(l, p.toString())
- })
- }).attr("src", d.attr("src"))
- })
- };
- a(window).resize(b).trigger("resize");
- return this
- }
- })(jQuery);
Advertisement
Add Comment
Please, Sign In to add comment