使用外部JavaScript文件更改div上的显示

时间:2013-03-12 19:35:59

标签: javascript css html

我目前正在这样做:

<div id="textChange" style="display:none;">Blah blah</div>
<script type="text/javascript">
var d = new Date();
var funnyDate = (d.getFullYear() + "" + (d.getMonth()+11) + "" + (d.getDate()+10));
if((funnyDate>=20131916) && (funnyDate<=20131923))
{
document.getElementById("textChange").style.display ="block";
}
</script>

并希望将脚本移动到外部JS文件。我怎么做?我似乎没有为我工作。

感谢。

7 个答案:

答案 0 :(得分:2)

#textChange div之后添加此脚本,它将起作用。例如,在关闭</body>代码之前:

...
<script src="funny-script.js" type="text/javascript"></script>
</body>

这是最简单的方法。您也可以在DOMContentLoadedwindow.onload事件上运行此代码,但查看您的脚本正在执行的操作,我认为它不会发生。

答案 1 :(得分:1)

1 - 打开记事本或记事本++或您用作文本编辑器的任何内容。

将javascript代码2复制到文本编辑器,不带标记

var d = new Date();
 var funnyDate = (d.getFullYear() + "" + (d.getMonth()+11) + "" + (d.getDate()+10));
  if((funnyDate>=20131916) && (funnyDate<=20131923))
{
document.getElementById("textChange").style.display ="block";
  }

3 - 使用您想要的任何名称保存文件,并且不要忘记将.js扩展名添加到文件中,例如将文件另存为“test.js”

将“test.js”复制到与html页面相同的目录。

5 - 将此行添加到html页面

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

答案 2 :(得分:1)

执行此操作的一种方法是创建一个函数并将其包含在js文件中

function style_changer(){

var d = new Date();
var funnyDate = (d.getFullYear() + "" + (d.getMonth()+11) + "" + (d.getDate()+10));
if((funnyDate>=20131916) && (funnyDate<=20131923))
  {
    document.getElementById("textChange").style.display ="block";
  }
}

现在在你的html中引用包含这个函数的js文件,例如

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

你可以在你的部分中包含这个并且应该可以工作

答案 3 :(得分:0)

使用内容保存名为script.js的文件。

var d = new Date();
var funnyDate = (d.getFullYear() + "" + (d.getMonth()+11) + "" + (d.getDate()+10));
if((funnyDate>=20131916) && (funnyDate<=20131923))
{
    document.getElementById("textChange").style.display ="block";
}

并将此标记放在HTML文档中。将它放在</body>之前,这样您就可以知道在加载和执行脚本之前,元素textChange将存在于DOM中。

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

确保script.js与HTML文档位于同一目录中。

答案 4 :(得分:0)

将以下代码放在函数

步骤1:

function onLoadCall()
var d = new Date();
var funnyDate = (d.getFullYear() + "" + (d.getMonth()+11) + "" + (d.getDate()+10));
if((funnyDate>=20131916) && (funnyDate<=20131923))
{
document.getElementById("textChange").style.display ="block";
}
}

步骤2: -

在页面加载时调用该函数

<body onload='onLoadCall()'>
...
</body>

步骤3: - 现在将脚本移动到另一个可以工作的文件

答案 5 :(得分:0)

将脚本放在一个单独的文件中,并将其命名为yourScript.js,最后将其包含在您的文件中

在脚本文件中添加代码

function changeFunnyDate(){
    var d = new Date();
     var funnyDate = (d.getFullYear() + "" + (d.getMonth()+11) + "" + (d.getDate()+10));
      if((funnyDate>=20131916) && (funnyDate<=20131923))
    {
    document.getElementById("textChange").style.display ="block";
      }
}

最后在您的文件中添加脚本&amp;调用方法

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

答案 6 :(得分:0)

获取脚本标记之间的所有内容并将其放入另一个文件中。您应该使用.js文件扩展名保存此文件。我们假装您将其保存为textChange.js

现在最简单的方法是在<div>标记之后包含脚本文件 - 所以基本上<script>代码和代码之前的位置,写一下:

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

这假定'textChange.js'与HTML文件位于同一文件夹中。

...

然而,这太容易了!通常,最好将<script>标记放在HTML文件的<head>中。您可以将上面的行向上移动到头部,但是脚本将在<div>之前加载 - 它将尝试执行它所做的操作,它将失败,因为它无法找到div。因此,您需要在脚本文件中放置一些代码,以便它只在文档准备就绪时执行。

执行此操作的最简单方法(可能有更好的方法)是编写以下内容...

window.onload = function () {
    var d = new Date();
    var funnyDate = (d.getFullYear() + "" + (d.getMonth()+11) + "" + (d.getDate()+10));
    if ((funnyDate>=20131916) && (funnyDate<=20131923))
        {
            document.getElementById("textChange").style.display ="block";
        }
}

这意味着你的脚本应该在它应该的位置,它只在整个页面准备好时才会执行,包括你想要操作的div。

希望这有帮助。