变量不应该增长

时间:2014-04-14 12:13:07

标签: javascript html function variables

我在javascript中遇到一个奇怪的问题已经挣扎了很长时间。 这就是我所做的:

  1. 从html代码中收集一些元素
  2. 随机更改订单并将其退回'
  3. 我通过获取高度并添加一些偏移来计算div的每个位置。 我的变量' topPos'疯了每次评估函数时都不会 重启。相反,它会增长和增长。这个网站变得非常小巧。但是这个 时间我只是希望它以正确的方式工作..(: 有人可以帮忙吗? 谢谢。

    这是代码:

    function setPos(){
      var vidArray = shuffleFrames();
      var topPos = 30;
      var prevHeight = 0;
      for(var i = 0; i < vidArray.length; i++){
        var element = vidArray[i];
        element.style.top = topPos.toString() + "px";
        prevHeight = $(vidArray[i]).height();
        topPos = topPos + prevHeight + 15;
        element.style.display = "block";  
      };
    topPos = 30;
    };    
    

    它被这个函数调用:

    function randStart(){
      var elem = document.getElementsByClassName("videofont");
      getElements(elem);
      setPos();
    };
    

    这是html-part:

    div id="p00" class="videofont" >
    <iframe src="some video" ></iframe>  
    </div>
    
    div id="p01" class="videofont" >
    <iframe src="some video" ></iframe>  
    </div>
    
    div id="p02" class="videofont" >
    <iframe src="some video" ></iframe>  
    </div>
    
    " … and so on " 
    

    删除功能:

    function remPos(){
      var vidArray = frames;
      for(var i=0; i<frames.length; i++){
        var element = vidArray[i];
        element.style.display = "none";
        $(element).removeAttr('style'); 
      };
    };    
    

    其余的:

    function shuffleFrames() {
      var currentIndex = frames.length,
        temporaryValue, randomIndex;
      while (0 !== currentIndex) {
        randomIndex = randomizer(currentIndex);
        currentIndex -= 1;
        temporaryValue = frames[currentIndex];
        frames[currentIndex] = frames[randomIndex];
        frames[randomIndex] = temporaryValue;
      };
    
      return frames;
    };
    
    
    var frames = [];
    function getElements(elements){
      for(i = 0; i < elements.length; i++){
        frames.push(elements.item(i));
      };
    };
    

    .videofont sais的css:     .videofont {       位置:绝对的;       左:400像素;       顶:300像素;       的z-index:999;       显示:无;     }

    谢谢!

0 个答案:

没有答案