函数内的变量不起作用

时间:2011-08-29 03:15:09

标签: javascript javascript-events

我有以下功能:

function slideDown() {
    //get the element to slide
    sliding = document.getElementById('slideDiv1');
    //add 1px to the height each time
    sliding.style.height = parseInt(sliding.style.height)+1+'px';
    t = setTimeout(slideDown,30);
    if (sliding.style.height == "401px") {
        clearTimeout(t);
    }
}

在此函数中调用:

function addDiv(nextImageSlide) {
    //finds the src attribute of the image nested in the Li
    elemChild = nextImageSlide.firstChild;
    imageSrc = elemChild.getAttribute('src');
    //loops and creates six divs which will be the slices. adds background property etc
    for (i = 0, j = 0, k = 1; i< = 19; i++, j++, k++) {
        var newDiv = document.createElement('div');
        newDiv.setAttribute('class', 'new-div');
        newDiv.id='slideDiv' + k;
        newDiv.style.height = '1px';
        newDiv.style.background = 'url(' + imageSrc +') scroll no-repeat - '+39.5 * j + 'px 0';
        var a = document.getElementById('content');
        a.appendChild(newDiv);
    }
    slideDown();
}

在另一个定义nextImageSlide的函数中调用。它后来删除了它刚刚创建的所有div。

这个想法适用于图库。当用户点击下一个按钮时,我希望下一个图像的切片向下滑动以显示下一个图像。然后将这些切片带走并显示新图像。

我想要这样的事:http://workshop.rs/projects/jqfancytransitions/

这是一项任务,所以我们必须自己编写所有代码,这是我认为复制它的最佳方式。唯一的问题是我一直收到错误:

'sliding is null. sliding.style.height = parseInt(sliding.style.height)+1+'px';'

无论我做什么,我都无法摆脱它。问题是如果我将滑动定义为一个完全不同的id,(例如我在所有东西之外做了一个随机的小div),它就可以了。

这个错误显示当我尝试访问div时,它只是使它抛出了一个合适的东西。 有人在我的代码中看到任何错误吗? 干杯

1 个答案:

答案 0 :(得分:0)

希望这只是在这里粘贴到网站时的错字,但是:

    car a = document.getElementById('content');
    ^---syntax error, which'll kill your entire script - var?