当有另一个时,Javascript不起作用

时间:2014-01-19 17:16:06

标签: javascript wordpress post random block

我搜索了但我找不到答案。

我有一个代码可以随机更改我的wordpress模板块和帖子的颜色。实际上它会改变这些块的类别以及颜色。你可以在这里看到代码:

function inArray(array , exist) {
    var rslt = false;
    for (var j = 0; j < array.length; j++)
    {
        if (array[j] == exist)
        {
            rslt = true;
        }
    }
    return rslt;
}

var colored = Array();
function changeColor(target) {
    var blocks = document.getElementsByClassName(target);
    var blockLength = blocks.length;
    for (var i = 0; i < blockLength; i++)
    {
        if (colored.length >= 9)
        {
            colored = [];
        }
        var rand = 0;
        while (rand == 0 || inArray(colored , rand))
        {
            rand = Math.floor(Math.random()*10)%10;
        }
        colored.push(rand);
        blocks[i].className = target+' color'+rand ;
    }
}

window.onload = function() {
    changeColor('block');
    changeColor('post');
}

您看到的代码放在名为“colors.js”的外部文件中,并包含在:

<script src="<?php bloginfo('template_url'); ?>/scripts/colors.js"></script>

在我的wordpress模板中。 代码工作正常,直到我添加另一个代码:

<script>var _mxvtmw_position = 'left', _mxvtmw_domain = 'icomp.ir'</script>
<script src="http://iwfcdn.iranwebfestival.com/js/mx.vtmw.min.js?12688" async="async"></script>

为什么呢?我该如何解决这个问题?

谢谢。


修改: 演示:http://tuts.icomp.ir/

1 个答案:

答案 0 :(得分:-2)

IN CASE blocks.length IS 1如果条件

,你还需要添加一个
if (blocks.length==undefined){
//code
}