在我的网页上,我有谷歌地图(buy.html
),用户可以点击任何大陆。如果他点击亚洲,我会隐藏带有世界地图的 div 并显示新 map (带有 id="asia"
的新 div),我的网址现在看起来像这样 buy.html#asia
在页脚中,我有一个带有大陆名称的菜单,当用户单击任何大陆的名称时,我需要将他重定向到该选定的大陆(buy.html#asia
或 buy .html#africa
或 buy.html#australia
等)
首先我尝试仅在 html 中修复所有内容
<a href="buy.html#australia">Australia</a>
<a href="buy.html#asia">Asia</a>
<a href="buy.html#africa">Africa</a>
但这将我重定向到 buy.html#australia
但不仅向我显示了澳大利亚的完整 map
我尝试第二次,在我的html中我调用这样的函数
<a href="" onclick="changeState('Australia');">Australia</a>
<a href="" onclick="changeState('Asia');">Asia</a>
<a href="" onclick="changeState('Africa');">Africa</a>
这就是我尝试从 .js 想法中实现这一点的方法,点击重定向到 buy.html
并成功调用新函数 show_country(name)
。当我点击 map 时,这个函数就起作用了,所以我认为这里没有必要编写代码。如果有人需要查看此功能的代码,我会将其发布在这里
function changeState(name){
document.location.href = "domein.com/buy.html";
//i'm stuck here, how to add success and call this function on success
show_country(name)
};
这里 document.location.href 对我不起作用,我不知道如何在这种情况下添加成功。
希望你能理解我的问题
最佳答案
我记得a post I answered few days ago看起来像你的。您必须使用“哈希更改”处理程序来执行您想要的操作:
在菜单中使用此链接:
<a href="buy.html#australia">Australia</a>
<a href="buy.html#asia">Asia</a>
<a href="buy.html#africa">Africa</a>
并在 buy.html 页面末尾添加此脚本:
function locationHashChanged() {
if (location.hash.startsWith("#")) {
show_country(decodeURI(location.hash).substring(1));
}
}
//bind handler for next clicks
window.onhashchange = locationHashChanged;
//on page load call to init the right view
locationHashChanged();
关于Javascript 重定向和成功调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48316855/