首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >javascript和DHTML效果

javascript和DHTML效果
EN

Stack Overflow用户
提问于 2011-04-18 23:41:40
回答 4查看 132关注 0票数 0

我使用JavaScript已经有一段时间了--在我拿到证书后,我开始学习Perl,从那以后我就一直在使用它。我只是在试着重新开始使用JS,我写了这个我想说的,是一个简单的小脚本,用来非常简单地更改div的边界。然而,我不能计算出我错在哪里。感谢您的任何建议/建议或想法。在TY之前。这是我的脚本..

代码语言:javascript
复制
<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>
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-04-19 00:01:40

试试这个:http://jsfiddle.net/maniator/CEsJR/

代码语言:javascript
复制
<script type="text/javascript">
    var i =0;
var colors = ["red", "yellow", "blue", "green"];

function changeBorder(e)
{
    //restarts color counter
    i = i % colors.length;

    e.style.border = colors[i] + " solid 5px"
    i++;

    var timer = setTimeout(function(){changeBorder(e)}, 1000);
}

window.onload=function()
{


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

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

    changeBorder(e);
}

</script>



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

e变量只能在页面加载时创建

票数 2
EN

Stack Overflow用户

发布于 2011-04-19 00:01:09

您可能需要:

代码语言:javascript
复制
e.style.borderColor = colors[i];

然后你就需要担心我会变得比颜色的长度大。

类似于:

代码语言:javascript
复制
if (i >= colors.length) i=0;

可能就是我们要走的路。

票数 2
EN

Stack Overflow用户

发布于 2011-04-19 00:03:52

这是一个example。在setTimeout中,您可以只使用指向要执行的函数的指针。我已经包含了一种在i= 4后重新启动颜色开关的机制。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5705415

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档