Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/27.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和DHTML影响_Javascript_Dhtml - Fatal编程技术网

javascript和DHTML影响

javascript和DHTML影响,javascript,dhtml,Javascript,Dhtml,我已经有一段时间没有使用JavaScript了——在我获得证书后,我开始学习Perl,并一直在使用它。我只是想让我的手回到JS中,作为一个开始,我写了这个我会说的,是一个简单的小脚本,可以非常简单地更改div的边框。然而,我不知道我错在哪里。感谢您的任何建议/建议或想法。提前打电话。这是我的剧本 <script type="text/javascript"> var i =0; var e = document.getElementById("text"); e.style.bo

我已经有一段时间没有使用JavaScript了——在我获得证书后,我开始学习Perl,并一直在使用它。我只是想让我的手回到JS中,作为一个开始,我写了这个我会说的,是一个简单的小脚本,可以非常简单地更改div的边框。然而,我不知道我错在哪里。感谢您的任何建议/建议或想法。提前打电话。这是我的剧本

<script type="text/javascript">

var i =0;
var e = document.getElementById("text");

e.style.border = "solid black 5px";
e.style.padding = "5px";

var colors = ["red", "yellow", "blue", "green"];

function changeBorder()
{
    e.border = colors[i];
    i++;
    var timer = setTimeout("changeBorder()", 1000);
}

window.onload=function()
{
    changeBorder();
}

</script>



<div id="text">
   <h1>Hello world</h1>I am Mike!.
</div>

var i=0;
var e=document.getElementById(“文本”);
e、 style.border=“纯黑5px”;
e、 style.padding=“5px”;
变量颜色=[“红色”、“黄色”、“蓝色”、“绿色”];
函数changeBorder()
{
e、 边框=颜色[i];
i++;
var timer=setTimeout(“changeBorder()”,1000);
}
window.onload=function()
{
changeBorder();
}
你好,我是迈克!。
您可能需要:

e.style.borderColor = colors[i];
那么你就需要担心我会变得比颜色的长度还要长

比如:

if (i >= colors.length) i=0;
这可能是一条路。

您可能想要:

e.style.borderColor = colors[i];
那么你就需要担心我会变得比颜色的长度还要长

比如:

if (i >= colors.length) i=0;
这可能是一条路。

试试这个:


var i=0;
变量颜色=[“红色”、“黄色”、“蓝色”、“绿色”];
函数更改边框(e)
{
//重新启动颜色计数器
i=i%colors.length;
e、 style.border=颜色[i]+“实心5px”
i++;
var timer=setTimeout(函数(){changeBorder(e)},1000);
}
window.onload=function()
{
var e=document.getElementById(“文本”);
e、 style.border=“纯黑5px”;
e、 style.padding=“5px”;
更改边界(e);
}
你好,我是迈克!。
e
变量只能在页面加载时创建

尝试以下操作:


var i=0;
变量颜色=[“红色”、“黄色”、“蓝色”、“绿色”];
函数更改边框(e)
{
//重新启动颜色计数器
i=i%colors.length;
e、 style.border=颜色[i]+“实心5px”
i++;
var timer=setTimeout(函数(){changeBorder(e)},1000);
}
window.onload=function()
{
var e=document.getElementById(“文本”);
e、 style.border=“纯黑5px”;
e、 style.padding=“5px”;
更改边界(e);
}
你好,我是迈克!。
e
变量只能在页面加载时创建。在setTimeout中,您可以使用指向要执行的函数的指针。我包括了一个在I=4后重新启动颜色开关的机制。

这里是一个示例。在setTimeout中,您可以使用指向要执行的函数的指针。我提供了一种在I=4后重新启动颜色开关的机制。

可能的问题#1 如果这是页面上所有内容的运行顺序,那么
e=document.getElementById(“text”)
将永远无法工作。只有在HTML构建元素之后,才能通过其ID获取该元素。Neal关于只在页面加载时获取元素的建议是可行的。或者,您可以将脚本移动到页面底部

可能的问题#2 在
changeBorder
函数中,应用新颜色如下:

e.border = colors[i];
但您可能想访问
e.style.border
。即使您这样做了,我的理解是,
边框
是一种快捷方式样式,您可以在一个规则中定义宽度、样式和颜色。您可能需要使用类似于
e.style.borderColor
的东西

可能的问题#3 这看起来还不足以成为一个问题,但请记住,当您循环使用不同的颜色时,
i
变量最终将大于颜色数组的长度。为了确保不会发生这种情况,可以使用模数运算符:

e.style.borderColor = colors[i];
i = (i + 1) % 4;
奖金 如果只给
setTimeout
一个函数,不带参数,那么就不需要使用引号。以下情况很好,不需要
eval
功能:

setTimeout(changeBorder, 1000);
可能的问题#1 如果这是页面上所有内容的运行顺序,那么
e=document.getElementById(“text”)
将永远无法工作。只有在HTML构建元素之后,才能通过其ID获取该元素。Neal关于只在页面加载时获取元素的建议是可行的。或者,您可以将脚本移动到页面底部

可能的问题#2 在
changeBorder
函数中,应用新颜色如下:

e.border = colors[i];
但您可能想访问
e.style.border
。即使您这样做了,我的理解是,
边框
是一种快捷方式样式,您可以在一个规则中定义宽度、样式和颜色。您可能需要使用类似于
e.style.borderColor
的东西

可能的问题#3 这看起来还不足以成为一个问题,但请记住,当您循环使用不同的颜色时,
i
变量最终将大于颜色数组的长度。为了确保不会发生这种情况,可以使用模数运算符:

e.style.borderColor = colors[i];
i = (i + 1) % 4;
奖金 如果只给
setTimeout
一个函数,不带参数,那么就不需要使用引号。以下情况很好,不需要
eval
功能:

setTimeout(changeBorder, 1000);

@Kooilnc在你的例子中,你的空间不会超过4个colors@Neal:嗯,我不认为我必须为OP编写完整的脚本。这只是为了演示他的代码片段是如何工作的。@Kooilnc在您的示例中,您的空间不会超过4个字符colors@Neal当前位置我想我不必为这部作品写完整的剧本,只是为了演示他的代码片段是如何工作的;是我最初做的。。。但是,是的,我忘了考虑数组的结尾,因为它只执行一次。非常感谢!。谢谢,e.style.borderColor=colors[i];是我最初做的。。。但是,是的,我忘了考虑数组的结尾,因为它只执行一次。非常感谢!。哦,为什么?。你是说css信息和e变量定义?是的,strai