所以我有这个svg贴图,我已经命名了所有stredes,并跳转到屏幕上的街道位置,只是将#streetname放在url后面。一切都非常简单。
但是,这会将搜索到的街道放在屏幕的左上方。因此,我搜索了一些解决方案并找到了以下内容:
function scrolldown() {
document.documentElement.scrollTop = document.documentElement.scrollTop - 100;
document.documentElement.scrollLeft = document.documentElement.scrollLeft + 170;
}
但这给表带来了两个问题:
我已将此地图放在另一页的iframe中,上述方法将iframe内的地图向下滚动,但是所有iframe所在页面的整个边框都没有。我尝试替换文档。没有以下结果。
function scrolldown() {
var elmnt = document.getElementsByTagName("iframe");
var ypos = elmnt.documentElement.scrollTop / 2;
var xpos = elmnt.documentElement.scrollLeft / 2;
elmnt.documentElement.scrollTop = elmnt.documentElement.scrollTop - ypos;
elmnt.documentElement.scrollLeft = elmnt.documentElement.scrollLeft - xpos;}
上面的代码什么都不做
我的基本html布局如下
<head>
<body onload="scrolldown()" />
</head>
<body>
<svg>
</svg>
<script>
function scrolldown() {
var elmnt = document.getElementsByTagName("iframe");
var ypos = elmnt.documentElement.scrollTop / 2;
var xpos = elmnt.documentElement.scrollLeft / 2;
elmnt.documentElement.scrollTop = elmnt.documentElement.scrollTop - ypos;
elmnt.documentElement.scrollLeft = elmnt.documentElement.scrollLeft - xpos;}
</script>
</body>
此HTML页面使用iframe加载到主页中
<iframe src="map.php">
解决方案可能非常简单,但是我并不是使用javascript的最佳人选。