使用Jquery缩放图像映射

时间:2013-03-28 19:59:56

标签: jquery html mobile scale imagemap

所以我遇到了这个问题。我是编程的新手,记住这一点。

我正在尝试做的事:使用JQUERY在图像映射中缩放一些值。

我的想法:图像被包裹在宽度已满的位置。这意味着它是100%。因此,如果我取出该数字,然后取出观众使用的宽度,我可以将坐标上的值相乘,始终在轨道上。

一些笔记 (#mapa是我正在使用的imagemap,#content是我用作div的通用容器,将所有内容放在一起.515是图像自然宽度的值。) 我做了什么而且没有用:

var width = $('#content').width();
var exp = width * 515;
var mul = exp / 100; //I would do all in one line, but I'm always afraid I mess up.

$("area").each(function() {
var pairs = $(this).attr("coords").split(', ');
for (var i=0; i < pairs.length; i++) {
    pairs[i] = pairs[i] * mul;
    }
$(this).html('coords', pairs.join);
});

那么......有什么建议/建议/插件吗? 提前谢谢。

2 个答案:

答案 0 :(得分:0)

$(this).html('coords', pairs.join);

应该是

$(this).attr('coords', pairs.join(','));

答案 1 :(得分:0)

这里有一个可能的问题:

var pairs = $(this).attr("coords").split(', ');

应该可能

var pairs = $(this).attr("coords").split(',');

如果逗号后面应该有一个没有空格的区域定义。

然后另一个,更严重的一个:

$(this).html('coords', pairs.join);

应该是

$(this).attr('coords', pairs.join(','))

我刚刚使用您的代码作为基础实现了“scaleAreas”功能,它运行良好,您的初始工作节省了我的一天。