为什么我的切换可见性javascript功能不起作用?

时间:2014-08-02 17:40:42

标签: javascript php function include

我有这个文件夹结构:

htdocs/
  - a.php
  - plugin/
      - b.php
  - website/
      - c.php
  - js/
      - common.js

我在common.js上有这些功能:

function togglevisibility (id)
{
    var doc = document.getElementById(id);
    if (doc.style.display == "" || doc.style.display == "block") doc.style.display = "none"; else
    if (doc.style.display == "none") doc.style.display = "block";
}

function gotourl (url)
{
    window.location = url;
}

现在,让我们说我在a.php上有这个脚本:

include_once "plugin/b.php";
include_once "website/c.php";

然后,b.php

<script type="text/javascript" src="js/common.js"></script>

然后,c.php

<a href="#" onclick="togglevisibility('data');">show data</a><br>
<a href="#" onclick="
    var doc = document.getElementById('data');
    if (doc.style.display == '' || doc.style.display == 'block') doc.style.display = 'none'; else
    if (doc.style.display == 'none') doc.style.display = 'block';">
    display data</a>

<div id="data" style="display:none">This is the data</div>

<a href="#" onclick="gotourl('www.google.com');">goto google.com</a>

然后我们使用http://localhost/a.php运行网站。

问题是gotourl功能正在运行,但togglevisibility功能(在链接show data上)不起作用。如果我复制粘贴功能的内容到内联javascript(如display data链接),它就可以正常工作。你能否暗示这出错的地方?我已经搜索了几个小时的问题。一切似乎都是正确的。

1 个答案:

答案 0 :(得分:0)

<a href="e.com">E</a>

“ href”是URL,因此您应将“ window.location”替换为“ window.location.href”。

查看文档:{​​{3}}

对于您的togglevisibility(),我不确定。