功能对已经运行的JavaScript函数的影响

时间:2013-02-13 11:36:51

标签: javascript

所以我有一个函数可以显示CSS类中的随机数图像。 问题是当我运行应用程序两次时,第二个应用程序更改第一个应用程序上的图像,而随机数DONT显示在第二个应用程序中。 我认为这可能是因为我没有局部变量,但无论是否有全局变量,我都会遇到同样的问题。我可以使用Iframes,但必须有一个距离才能让Js Only工作吗?

我创建了一个显示问题的jsFiddle,只需按两次运行按钮并使用骰子玩你会看到我的问题。 http://jsfiddle.net/dymond/gUL9U/

以及创建类的函数。

function dicesides_func(nr){
    // go to dice-window-wrapper again
    // this could be put in a seporate functon
    var elementToAddDice=" dice-window-wrapper ",
    obj=this, // using this here that's why it's called wiht
    dice,i=0,total=0; // all the dice in this dice window
    // dicesides_func.call to set the right this context
    if(nr)
    {
        while((" "+obj.className+" ").indexOf(elementToAddDice)==-1){
            obj=obj.parentNode;
        }
        obj=obj.getElementsByTagName("ul")[2];
        var dicessides = createElementWithClass('li',nr);
        obj.appendChild(dicessides);
        // calculate total (can do in a seporate function)

        dice = obj.getElementsByTagName("li");
    }
    else
    {
        dice = document.getElementsByClassName("dice");   
    }
    for(i=0;i<dice.length;i++){
        total=total+getNumberForClass(dice[i].className);
    }
    //alert(total);

    var wrapper = document.getElementsByClassName("dice-toolbar-counter-wrapper")[0];

    while (wrapper.hasChildNodes()) {
        wrapper.removeChild(wrapper.lastChild);
    }

    var ttl = total.toString();
    var arr = [];
    for (var i = 0;i<ttl.length;i++) {
        var digit = ttl[i];
        var newelem = createElementWithClass('li',"side-" + ttl[i]);
        //alert(dice_toolbar_counter_wrapper_Li)
        wrapper.appendChild(newelem);
    } 

}

0 个答案:

没有答案