0

我尝试了许多排列,但无法在一个有效的排列上发生......

这是一个学习/演示页面的简短脚本,它已准备好在您的本地主机上运行,​​任何人都想看到它行为不端。双击停止按钮使其工作,但似乎必须有一种方法来停止循环和重置,只需单击一下。

我只学了几个星期的 JavaScript,所以如果问题是我遗漏的简单问题,我不会感到惊讶。这是令人反感的代码:)

        
        
        我的循环
        

        // 在窗口加载时,最好有一些 .className  
        // 在需要它们的 DIV 元素上设置,因此它们会显示出来。
        var ScaryMonster = window.onload=function portofOrigin(){
        Div1ne.className = "AsBeforeBubba";
        Div2wo.className = "AsBeforeBubba";
        Div3hree.className = "AsBeforeBubba";
        Div4our.className = "AsBeforeBubba";
        Div5iver.className = "AsBeforeBubba";
        };
        // 然后继续定义 DIVS 将要的函数的 shwack
        // 通过 LOOP 代码的操作来操作。
        // 函数:ItemBar1
        功能项目栏1颜色(){
        timeoutIDxDiv1 = window.setTimeout(Div1neDOsomethingDoggoneIt, 160);
        }
        函数 Div1neDOsomethingDoggoneIt(){
            div1ne.className = "springME";
        Div2wo.className = "defaultBORED";
        Div3hree.className = "defaultBORED";
        Div4our.className = "defaultBORED";
        Div5iver.className = "defaultBORED";
        }
        // 函数:ItemBar2
        功能项目栏2颜色(){
        timeoutIDxDiv2 = window.setTimeout(Div2woDOsomethingDoggoneIt, 320);
        }
        函数 Div2woDOsomethingDoggoneIt(){
        Div1ne.className = "defaultBORED";
            div2wo.className = "springME";
        Div3hree.className = "defaultBORED";
        Div4our.className = "defaultBORED";
        Div5iver.className = "defaultBORED";
        }
        // 函数:ItemBar3
            // 这里 Timer Function 是为 Loop 集合的 Item #3 定义的
        功能项目栏3颜色(){
            // 如果被调用,它会在 480/800 毫秒时触发    
        timeoutIDxDiv3 = window.setTimeout(Div3hreeDOsomethingDoggoneIt, 480);
        }
            // 这是包含代码的函数  
            // 如果调用了 Item #3,将运行。
        函数 Div3hreeDOsomethingDoggoneIt(){
            // .defaultBORED 是 *non~lit~up* 的外观状态  
            //循环运行时的div。   
        Div1ne.className = "defaultBORED";
        Div2wo.className = "defaultBORED";
            // 而 .springME 是 *active* 显示外观  
            // 在“动画循环*”期间的 div
            div3hree.className = "springME";
        Div4our.className = "defaultBORED";
        Div5iver.className = "defaultBORED";
        }
        // 函数:ItemBar4
        功能项目栏4颜色(){
        timeoutIDxDiv4 = window.setTimeout(Div4ourDOsomethingDoggoneIt, 640);
        }
        函数 Div4ourDOsomethingDoggoneIt(){
        Div1ne.className = "defaultBORED";
        Div2wo.className = "defaultBORED";
        Div3hree.className = "defaultBORED";
            Div4our.className = "springME";
        Div5iver.className = "defaultBORED";
        }
        // 函数:ItemBar5
        功能项目栏5COLOUR(){
        timeoutIDxDiv5 = window.setTimeout(Div5iveDOsomethingDoggoneIt, 800);
        }
        函数 Div5iveDOsomethingDoggoneIt(){
        Div1ne.className = "defaultBORED";
        Div2wo.className = "defaultBORED";
        Div3hree.className = "defaultBORED";
        Div4our.className = "defaultBORED";
            Div5iver.className = "springME";
        }

        /* ****************************************** */
        // 这是主定时器循环的 BEGIN POINT 创建 faux~animation
        函数 SetThemUP(){

        // 这个函数在你希望的任何地方创建一个 TIMESTAMP
        // 放置一个,通过调用函数。
        函数只是时间戳(){
            var OkayFIRE = +新日期();
           返回 OkayFIRE;
        }

        // 无论出于何种原因,它都可以作为很多函数的持有者
        函数wellrelaxCODEworkWITHmeHere(){

        // 此 Function 集合中的第一项是 TimeStamp。  
        // 通过调用具有代码的函数获得。
        var newOkayFIRE = JustTIMEstamp();

        // 构建一个 friggin 所需的 4 个函数中的 1 个
。 // 这是一个函数,在调用时会附加 // 将 LB 作为目标 DIV 元素的子元素组装到 DOM。 函数 SoWriteTimeStampToDivYello(){ var myDiv1 = document.getElementById("Aaaiyeeah"); var YellowTitleWrite = myDiv1.appendChild(document.createTextNode(newOkayFIRE)); 返回 YellowTitleWrite; } // 2 of 4. 原文如此。它需要创建一个离散的 html 元素... //上面提到的那个。 函数 FancyShitForLBWIN1(){ var compLbr="var inTheLinebreaks"; var thirdcompOFintheLinebreaks = "=document.createElement('br');"; var AssembledDocCreateLB=(compLbr+thirdcompOFintheLinebreaks); 返回 AssembledDocCreateLB; } // 3 of 4. 原文如此。令人惊讶的是,只能直接通过 // 在变量上插入换行符 // 拼凑在一起以提供可回收的
构造... 函数中间件(){ var myDiv33 = document.getElementById("Aaaiyeeah"); var inTheLinebreaks7=document.createElement('br'); myDiv33.appendChild(inTheLinebreaks7); } // 4 of 4 和资产的最终组件 // "
reuseable" 只能部署在 DIV "Aaaiyeeah" 中 // 但当然,需要多少次,所以至少它是有用的。 函数 FancyShitForLBWIN2wo(){ var theAppending1stPart="myDiv42.appendChild("; var varNameProper=("inTheLinebreaks"); var fouthPart=");"; var assembleAppenderHerself=(theAppending1stPart + varNameProper + fouthPart); 返回 assembleAppender 自己; } // 哦,LookitThet,来了,被调用了。 // 所以,这是在包装函数内部,在 TIMER 循环内部。 // 其效果是每次调用 LOOP 时, // TIMESTAMP GO~Time 的记录被写入显示。 SoWriteTimeStampToDivYello(); FancyShitForLBWIN1();middleware();FancyShitForLBWIN2wo(); //越线 // wellrelaxCODEworkWITHmeHere() 函数结束: } // 然后在这里一次性调用所有的 em: wellrelaxCODEworkWITHmeHere(); // 这些是在 MainTimerLoop 外部定义的 5ive 函数的调用;步骤或组件, // 从中组装 LOOP。 ItemBar1COLOUR(); ItemBar2COLOUR(); ItemBar3COLOUR(); ItemBar4COLOUR(); ItemBar5COLOUR(); // 这里是对包含调用的函数的调用。 // 通过设置数字,毫秒数 // 循环计时器的持续时间,已建立。 // 所以 // 为了有一个均匀的事件持续时间,事件有 // 被计时,他们自己,在他们的数量的比率 // 以毫秒为单位的时间长度,循环将占用。 开始烦恼 = window.setTimeout(SetThemUP,800); // SetThemUP() 结束 MAIN TIMER 循环 :: psuedo~animation } /* ********************** */ /* ********************************* */ // 这里开始 Gordon 建议的部分代码。 // 虽然这是由 *Reset* 按钮调用以重置 div // 到他们的 *Loop=OFF* 外观,并清除文本 // 从一个接一个显示的 DIV 中, // MAIN LOOP 的 PerLoop 迭代的 GoTime。 功能毁灭怪物(){ 停止(); 重置(); FTWxAnotherReset(); // 这是一个笨拙的绝望~策略 // 尝试删除不需要的 .class // 这仍然适用,并重置所有 // 5ive 到 NON~running 状态...外观。 } // 这是 MainTimerLOOP 的 *** OFF SWITCH ***。 函数停止(){ window.clearTimeout(开始烦恼); } 功能重置(){ var Aaaiyeeah = document.getElementById('Aaaiyeeah'); 而(Aaaiyeeah.firstChild){ Aaaiyeeah.removeChild(Aaaiyeeah.firstChild); } Div1ne.className = "AsBeforeBubba"; Div2wo.className = "AsBeforeBubba"; Div3hree.className = "AsBeforeBubba"; Div4our.className = "AsBeforeBubba"; Div5iver.className = "AsBeforeBubba"; } 函数 FTWxAnotherReset() { var Aaaiyeeah = document.getElementById('Aaaiyeeah'); 而(Aaaiyeeah.firstChild){ Aaaiyeeah.removeChild(Aaaiyeeah.firstChild); } Div1ne.className = "AsBeforeBubba"; Div2wo.className = "AsBeforeBubba"; Div3hree.className = "AsBeforeBubba"; Div4our.className = "AsBeforeBubba"; Div5iver.className = "AsBeforeBubba"; } #标题鬼{ 位置:绝对; 顶部:11px; 左:295px; 宽度:496px; 高度:29px; 背景颜色:#8ADFFB; 字体大小:19px; 字体粗细:粗体; 字体样式:斜体; 字体变体:小型大写字母; 颜色:黑色; 边框:3px 纯海军蓝; 填充顶部:3px; } #控制地点{ 位置:绝对; 顶部:11px; 左:19px; 宽度:142px; 高度:42px; 背景颜色:#33EFEA; 边框:2px 实心按钮面; } #ControlPlace 按钮{ 位置:绝对; 顶部:6px; 左:13px; 宽度:112px; 高度:29px; 背景颜色:按钮面; font-family:bookman 旧式; 字体大小:12px; 字体粗细:粗体; 颜色:海军蓝; } #ControlPlaceSTOPPA{ 位置:绝对; 顶部:72px; 左:19px; 宽度:142px; 高度:42px; 背景颜色:#33EFEA; 边框:2px 实心按钮面; } #ControlPlaceSTOPPA 按钮{ 位置:绝对; 顶部:6px; 左:13px; 宽度:112px; 高度:29px; 背景颜色:按钮面; font-family:bookman 旧式; 字体大小:12px; 字体粗细:粗体; 颜色:海军蓝; } #Aaaiyeeah{ /*显示每个循环Begin~Time的Unix TimeSTAMP*/ 位置:绝对; 顶部:11px; 左:819px; 宽度:131px; 高度:430px; 背景颜色:#C79C96; /* Impious Colors = “失落的艺术” */ 颜色:#A48F04;/* 邪恶的颜色 = "GoldyGoldfish" */ 边框:2px纯黑色; 溢出-y:滚动; } /* 主显示框 */ #BeginLoopingLikeAMAdBastard{ 位置:绝对; 顶部:137px; 左:295px; 宽度:492px; 高度:298px; 背景颜色:#333333; 边框:5px 纯紫色; } /* 5 Divs 在主显示 */ #Div1ne.defaultBORED{ 位置:绝对; 顶部:12px; 左:11px; 宽度:112px; 高度:29px; } #Div1ne.springME{ 位置:绝对; 顶部:12px; 左:11px; 宽度:112px; 高度:29px; } #Div2wo.defaultBORED{ 位置:绝对; 顶部:61px; 左:11px; 宽度:112px; 高度:29px; } #Div2wo.springME{ 位置:绝对; 顶部:61px; 左:11px; 宽度:112px; 高度:29px; } #Div3hree.defaultBORED{ 位置:绝对; 顶部:110px; 左:11px; 宽度:112px; 高度:29px; } #Div3hree.springME{ 位置:绝对; 顶部:110px; 左:11px; 宽度:112px; 高度:29px; } #Div4our.defaultBORED{ 位置:绝对; 顶部:159px; 左:11px; 宽度:112px; 高度:29px; } #Div4our.springME{ 位置:绝对; 顶部:159px; 左:11px; 宽度:112px; 高度:29px; } #Div5iver.defaultBORED{ 位置:绝对; 顶部:208px; 左:11px; 宽度:112px; 高度:29px; } #Div5iver.springME{ 位置:绝对; 顶部:208px; 左:11px; 宽度:112px; 高度:29px; } #Div1ne.AsBeforeBubba{ 位置:绝对; 顶部:12px; 左:11px; 宽度:112px; 高度:29px; 背景颜色:#EEff78; 边框:2px 实心#FC3B03; } #Div2wo.AsBeforeBubba{ 位置:绝对; 顶部:61px; 左:11px; 宽度:112px; 高度:29px; 背景颜色:#EEff78; 边框:2px 实心#FC3B03; } #Div3hree.AsBeforeBubba{ 位置:绝对; 顶部:110px; 左:11px; 宽度:112px; 高度:29px; 背景颜色:#EEff78; 边框:2px 实心#FC3B03; } #Div4our.AsBeforeBubba{ 位置:绝对; 顶部:159px; 左:11px; 宽度:112px; 高度:29px; 背景颜色:#EEff78; 边框:2px 实心#FC3B03; } #Div5iver.AsBeforeBubba{ 位置:绝对; 顶部:208px; 左:11px; 宽度:112px; 高度:29px; 背景颜色:#EEff78; 边框:2px 实心#FC3B03; } /* 定义一些 .classNames,用于控制一些 css 语句 通过 JavaScript */ #Div1ne.springME{ 背景颜色:森林绿; 边框:4px 纯红色; } #Div2wo.springME{ 背景颜色:森林绿; 边框:4px 纯红色; } #Div3hree.springME{ 背景颜色:森林绿; 边框:4px 纯红色; } #Div4our.springME{ 背景颜色:森林绿; 边框:4px 纯红色; } #Div5iver.springME{ 背景颜色:森林绿; 边框:4px 纯红色; } #Div1ne.defaultBORED{ 背景颜色:#333333; 边框:2px纯白色; } #Div2wo.defaultBORED{ 背景颜色:#333333; 边框:2px纯白色; } #Div3hree.defaultBORED{ 背景颜色:#333333; 边框:2px纯白色; } #Div4our.defaultBORED{ 背景颜色:#333333; 边框:2px纯白色; } #Div5iver.defaultBORED{ 背景颜色:#333333; 边框:2px纯白色; } 开始!!! 停止疯狂!   这是 JavaScript。循环或至少假装到。

对于没有自己的堆栈但好奇的任何人,请参阅

哦……你是认真的吗????

看看这是否有效......好吧,伙计们,你的功能有一个大洞。我只花了 45 分钟或一个小时手动格式化 450 行,然后想添加一个链接,然后得到臭名昭著和烦人的哎呀!ANTI~jsfiddle.net 胡说八道?普莱斯!SO 似乎远远高于该服务,服务于不同的目的......减轻或在内部合并类似的功能;只是不明白对它的偏见。我确实理解在 SO 的站点上拥有大量代码的愿望......但是当后端抱怨链接时,我可以很好地调整,不是吗? 咆哮

仍在解决问题...我不会接受必须单击两次,一次是停止动画/循环,一次是重置 5 个 div 的类名。

4

1 回答 1

0

setTimeout在任何奇怪的比赛条件之外(由于

function DestroyTheMonster() {
    Stop();
}

function Takes2woToTaengo() {
    Stop();
    setTimeout("Reset()", 800); // this is the delay
}

function Stop() {
    window.clearTimeout(CommenceAnnoyance);
}

function Reset() {
    var div = document.getElementById('Aaaiyeeah');
      while (div.firstChild) {
        div.removeChild(div.firstChild);
    }
    Div1ne.className = "AsBeforeBubba";
    Div2wo.className = "AsBeforeBubba";
    Div3hree.className = "AsBeforeBubba";
    Div4our.className = "AsBeforeBubba";
    Div5iver.className = "AsBeforeBubba";
}
于 2013-01-20T01:26:51.320 回答