在我的页面上,我有一个名为“ okno1”的框,其中包含一些文本,并且在鼠标悬停时,在返回cca 5sec文本后,出现的是图片而不是该文本。问题是,整个框“ okno1”应该是指向另一个页面的链接,该页面可以在firefox中使用。我试过像这样:
<a href=".." target="_blank">
<okno1 id="okno1" onMouseOver="zobraz1();"> ... </okno1>
</a>
之后,我尝试了js:
<okno1 id="okno1" onclick="nahrejodkaz('....');" onMouseOver="zobraz1();"> .... </okno1>
function nahrejodkaz(url) {
window.open(url, "_blank");
}
两者都只能在Firefox中使用。有什么方法可以在chrome和IE中工作吗?
JS:
function zrus1() {
document.getElementById("okno1").innerHTML ='CYKLOPRŮVODCE
<br>Cyklistika';
}
function zobraz1(){
var doba=3000;
document.getElementById("okno1").innerHTML = '<img src="kolo.jpg"
alt="Cyklistika" name="img">';
window.setTimeout('zrus1();',doba);
}
的CSS
okno1 {
display: inline-block;
cursor: pointer;
position: relative;
float: left;
width: 17%;
}
最佳答案
这似乎可以解决问题。我没有费心去追查为什么您的尝试失败了。差异包括
(0)附加事件处理程序,而不使用内联JS
(1)删除okno1元素的鼠标悬停处理程序5秒钟,其内容已更改。
适用于Chrome,IE11。Chrome在浏览器窗口中显示父文件夹,IE在资源管理器窗口中将其打开。
function byId(id){return document.getElementById(id);}
window.addEventListener('load', onDocLoaded, false);
function onDocLoaded(evt)
{
var okno1 = document.registerElement('okno-1'); // okno1 is an invalid tag-name
byId('okno1').addEventListener('mouseover', onMouseOver, false);
}
function onMouseOver(evt)
{
this.removeEventListener('mouseover', onMouseOver);
this.innerHTML = "<img src='kolo.jpg' alt='Cyklistika' name='img'>";
window.setTimeout(onTimerElapsed, 5000);
}
function onTimerElapsed(evt)
{
var tgt = byId('okno1');
tgt.innerHTML = ' ... ';
tgt.addEventListener('mouseover', onMouseOver, false);
}
okno-1
{
display: inline-block;
cursor: pointer;
position: relative;
float: left;
width: 17%;
}
<a href=".." target="_blank"><okno-1 id="okno1"> ... </okno-1></a>
关于javascript - anchor 标记仅在Firefox中有效,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39486131/