所以我遇到了这个问题。我是编程的新手,记住这一点。
我正在尝试做的事:使用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);
});
那么......有什么建议/建议/插件吗? 提前谢谢。
答案 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”功能,它运行良好,您的初始工作节省了我的一天。