Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/451.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用javascript模拟链接的外观_Javascript_Url_Hyperlink - Fatal编程技术网

使用javascript模拟链接的外观

使用javascript模拟链接的外观,javascript,url,hyperlink,Javascript,Url,Hyperlink,当用户点击谷歌地图上的位置时,我需要用javascript(window.open)打开链接 我如何让用户理解这是一个链接,他可以点击它,当他点击它时,他会在哪里结束 除此之外,当用户悬停在地图位置上时,该位置的URL应该显示在状态栏中,就像firefox中的普通链接一样 我该怎么做 谢谢 dontomaso好的,我不太了解google map如何管理JS代码,所以我尝试给你一个一般性的帮助: 您可以创建一个DIV(具有所需矩形区域的宽度和高度),然后将其与背景色透明一起放置在绝对坐标中您希望放

当用户点击谷歌地图上的位置时,我需要用javascript(window.open)打开链接

我如何让用户理解这是一个链接,他可以点击它,当他点击它时,他会在哪里结束

除此之外,当用户悬停在地图位置上时,该位置的URL应该显示在状态栏中,就像firefox中的普通链接一样

我该怎么做

谢谢


dontomaso

好的,我不太了解google map如何管理JS代码,所以我尝试给你一个一般性的帮助:

您可以创建一个DIV(具有所需矩形区域的宽度和高度),然后将其与背景色透明一起放置在绝对坐标中您希望放入地图的位置

然后为它编写onmouseover和onclick处理程序,这样当用户浏览它时,您就可以更改鼠标形状(从指针到指针),当用户单击它时,就会打开url

对于用户在地图上移动时的状态栏,您可以执行以下操作:

window.status = (getURL)

您可以创建一个简单的链接,然后使用不引人注目的Javascript技术在其上放置一个onclick侦听器。当用户单击链接时,您将拦截单击事件,阻止默认操作,读取href属性并打开窗口。有点像这样:

<a href="http://www.example.com" id="myLink">link</a>

$("#myLink").on("click", function(event) {
    event.preventDefault();
    myFunctionToOpenWindowForUrl(this.href);
});
<a href="javascript:void(0);" onclick="yourAction()" onmouseover="window.status='status bar';">link</a>

$(“#myLink”)。在(“单击”上,函数(事件){
event.preventDefault();
myFunctionToOpenWindowForUrl(this.href);
});

这是在使用jQuery,当然,您可以将其应用于可能使用的任何其他JS库。通过这种方式,您还可以在状态栏中看到原始URL,因为这是链接的自然特性—无需额外编码。而且,即使没有Javascript,您的链接也能正常工作,这使得这种方法比设置跨距样式(例如,将跨距设置为链接的样式,然后将侦听器附加到跨距上)更好。

您可以使用CSS(cursor:pointer;)修改光标,使其显示为指针


此外,您可以将目的地放入title标记中,这样,如果用户将鼠标移到元素上,就会看到目的地。

尝试以下操作:

<a href="http://www.example.com" id="myLink">link</a>

$("#myLink").on("click", function(event) {
    event.preventDefault();
    myFunctionToOpenWindowForUrl(this.href);
});
<a href="javascript:void(0);" onclick="yourAction()" onmouseover="window.status='status bar';">link</a>

href=“javascript:void(0);”
将按其应有的方式显示链接,如果您将其放在此处,它将仅在页面顶部滚动。Href必须设置为具有常规链接显示


onmouseover=“window.status='status bar';”
将在鼠标悬停时在窗口中设置状态。

有什么原因不能使用普通链接吗?您可以在新窗口中打开它们,并将它们放置在地图上。你可以让另一个元素充当链接,但当你可以使用链接时,似乎会有很多麻烦。应该注意的是,window.status在firefox中不起作用,除非你选中javascript选项“更改状态栏文本”。此外,我不确定div链接是否会根据过去是否访问过而改变颜色?您可以模拟一下。您可以编写一个命名空间变量来存储DIV链接状态:var DIV_status={visted:false,hover:false,…},并相应地更改其颜色:if(DIV_status.visted){document.getElementById(“DIV”).className=“…”//或document.getElementById(“DIV”).backgroundColor=“…”}ops not document.getElementById(“DIV”).backgroundColor=“…”}但document.getElementById(“div”).style.backgroundColor=“…”}