我坚持这个问题 - 我在单页上有4 img maps
以下。我在页面顶部有autocomplete search field,当键入要搜索的字符串时,每个地图上的区域都会突出显示。
最后一步我想要做的是,当我选择建议的单词时,只突出显示1个相应区域(已完成)并移动(滚动)到此区域。但我似乎无法使其发挥作用。
每个area
都有唯一的id
,如此:
<area id="1-1-5" href="#" alt="" shape="rect" coords="1103,103,1183,169">
<area id="1-1-7" href="#" alt="" shape="rect" coords="1207,103,1272,184">
<area id="1-1-2" href="#" alt="" shape="rect" coords="939,220,1019,286">
我希望如果我将此id
输入URL
(例如index.php#1-1-7),它会跳转到相应的area
,但它不会#39} ;吨。我不知道这是img maps
的标准行为,还是imageMapster的某种问题,我将其用于其精彩的突出显示和工具提示超过areas
。
我也尝试了jQuery .scrollTop()
功能,但没有运气。
如果有人知道如何做到这一点,我很乐意尝试一下。
答案 0 :(得分:1)
感谢Adrian Forsius和Palpatim,我现在有了一个功能,正是我需要的。谢谢你们。
function findCoordinates(area_id){
if (area_id != null && area_id != '') {
var i, x = [], y = [];
var c = $("area#" + area_id).attr('coords').split(',');
for (i=0; i < c.length; i++){
x.push(c[i++]);
y.push(c[i]);
}
var t = y.sort(num)[0];
var l = x.sort(num)[0];
if (area_id.charAt(0) == '1') {
t = parseInt(t) + 1350; // added height of 1st map
} else if (area_id.charAt(0) == '3') {
t = parseInt(t) + 2700; // added height of 1st and 2nd map
}
// alert( 'top = ' + t + ', left = ' + l );
$(".image-maps").offsetParent().scrollTop(t);
}
}
function num(a, b){
return (a-b);
}