JQuery 将鼠标悬停在地图位置上会更改位置大小
JQuery hover over map location changes location size
我正在网站上为当地艺术之路制作地图。我们的平面设计师设计了一张出色的、非常独特的程式化地图(想想伦敦地铁地图),其中每个位置标记都是我们的徽标。
每个标志位置需要在悬停时改变大小,然后在点击时改变颜色 - 我可以想出一种使用区域标签改变颜色的方法,但我真的希望位置标志图像在悬停时变大上。
有什么想法吗?
考虑使用 svg 并将 类 添加到您的对象中,无需使用区域标签,您的图形将始终清晰。
第一次缩放:在这里你可以使用纯 css3 解决方案,正如@odedya 在评论中提到的那样:
.element:hover {
transform: scale(20);
}
第二:单击时更改 svg 标记的颜色:
$('.marker').on("click", function() {
$('#path').css({ fill: "#000000" });
});
还要考虑您需要支持的浏览器范围,如果低于 ie9,请检查兼容性。 http://caniuse.com/#feat=svg. Also note on transform - maybe you need some prefixes. http://caniuse.com/#search=transform。即使对于 ie9 和 safari,您也需要 ms- 和 -webkit 前缀。
还有一件事,如果你想保持事件的特定顺序,你可以用js/jquery更好地控制它,所以使用鼠标悬停事件来获得想要的效果,然后允许点击。我不太了解动画变换比例,但您可以使用 plugin。比尝试类似的东西:
$('.marker').mouseenter(function() {
$(this).animate({ transform: 1.2 });
}).click(function() {
$('#path').css({ fill: '#333333' });
});
我正在网站上为当地艺术之路制作地图。我们的平面设计师设计了一张出色的、非常独特的程式化地图(想想伦敦地铁地图),其中每个位置标记都是我们的徽标。
每个标志位置需要在悬停时改变大小,然后在点击时改变颜色 - 我可以想出一种使用区域标签改变颜色的方法,但我真的希望位置标志图像在悬停时变大上。
有什么想法吗?
考虑使用 svg 并将 类 添加到您的对象中,无需使用区域标签,您的图形将始终清晰。
第一次缩放:在这里你可以使用纯 css3 解决方案,正如@odedya 在评论中提到的那样:
.element:hover {
transform: scale(20);
}
第二:单击时更改 svg 标记的颜色:
$('.marker').on("click", function() {
$('#path').css({ fill: "#000000" });
});
还要考虑您需要支持的浏览器范围,如果低于 ie9,请检查兼容性。 http://caniuse.com/#feat=svg. Also note on transform - maybe you need some prefixes. http://caniuse.com/#search=transform。即使对于 ie9 和 safari,您也需要 ms- 和 -webkit 前缀。
还有一件事,如果你想保持事件的特定顺序,你可以用js/jquery更好地控制它,所以使用鼠标悬停事件来获得想要的效果,然后允许点击。我不太了解动画变换比例,但您可以使用 plugin。比尝试类似的东西:
$('.marker').mouseenter(function() {
$(this).animate({ transform: 1.2 });
}).click(function() {
$('#path').css({ fill: '#333333' });
});