2014-12-29 18 views
0

我有一个问题,即我们显示的某个链接与页面本身的其余部分分离,因此当您打开该页面时链接立即显示,但页面需要2-3秒来加载,我试图推迟链接(在这个例子中它是谷歌),所以它会在页面加载后几秒钟显示。 我靠近了吗?如何在javascript/html中延迟<a>标记的负载

<!DOCTYPE html> 
<html> 

    <head> 
    <title>Delay export link</title> 
    <script type="text/javascript"> 

function myFunction() { 
    myVar = setTimeout(show(), 2000); 
} 

function show() { 
    document.getElementById("Link").style.display = "inline"; 
} 

function exportSrc() { 
    var scrt_var = "www.google.com; 
    document.getElementById("Link").setAttribute("href",scrt_var); 
} 

    </script> 
    </head> 

    <style> 
    #Link{display:none;} 
    </style> 

<body window.onLoad="myFunction();"> 
    <a id="Link" onclick="exportSrc();" target='_blank'> 
    <img src="http://i57.tinypic.com/mkw779.png"> 
    </a> 
    </div> 
    </body> 

</html> 
+1

有foo'和'FOO之间'一个重要的区别()' 。 –

+0

哪一个我应该放在这里? –

回答

2

你在你的页面中的一些错误是从工作停止这个的:

通常情况下,首先要检查时浏览器控制台(按F12)不起作用,并查找错误。这不会解决逻辑问题,但应该让你处于开始调试的好位置。

  1. 你有exportSrc缺少"语法错误 - 这将在浏览器控制台
  2. bodyload属性是不正确显示。你应该只使用onload="myFunction()"
  3. setTimeout调用的引用show代替。删除() s。
  4. <style>标签<head>
  5. 里面你有一个额外的</div>标签

这应该更好的工作:

<!DOCTYPE html> 
<html> 

    <head> 
     <title>Delay export link</title> 
     <style> 
      #Link{display:none;} 
     </style> 
     <script type="text/javascript"> 

     function myFunction() { 
      myVar = setTimeout(show, 2000); 
     } 

     function show() { 
      document.getElementById("Link").style.display = "inline"; 
     } 

     function exportSrc() { 
      var scrt_var = "www.google.com"; 
      document.getElementById("Link").setAttribute("href",scrt_var); 
     } 

     </script> 
    </head> 


    <body onload="myFunction();"> 
     <a id="Link" onclick="exportSrc();" target='_blank'> 
      <img src="http://i57.tinypic.com/mkw779.png"> 
     </a> 
    </body> 

</html> 
+0

谢谢!这很棒 –

0

尝试

<body onLoad="myFunction();"> 

相反的window.onload

+0

这是我的第一次尝试,它不工作.. –

+0

虽然内联事件处理程序相当于从20世纪90年代,他们应该工作,如果您使用正确的,这确实是'onload',而不是'window.onLoad'。如果它不适合你,你必须以错误的方式进行测试。 –

+0

该链接根本不显示,在另一种模式下,我测试了一个错误,说“意外的令牌非法” –