2013-07-24 111 views
0

我最近得到了一個簡單的幻燈片演示代碼,並試圖調整圖片在淡出之前顯示的時間。我玩過各種不同的變數,但我似乎無法讓它停留超過6秒,這就是謬論。我希望它顯示約15秒。這是我第一次遇到JavaScript,所以忍受着我。如果有人能指出我爲了延長時間需要做什麼,我將不勝感激。感謝在高級,約什jQuery幻燈片放映時間?

這裏是JavaScript代碼:

(function($){ 

$.fn.s3Slider = function(vars) {  

    var element  = this; 
    var timeOut  = (vars.timeOut != undefined) ? vars.timeOut : 4000; 
    var current  = null; 
    var timeOutFn = null; 
    var faderStat = true; 
    var mOver  = false; 
    var items  = $("#" + element[0].id + "Content ." + element[0].id + "Image"); 
    var itemsSpan = $("#" + element[0].id + "Content ." + element[0].id + "Image span"); 

    items.each(function(i) { 

     $(items[i]).mouseover(function() { 
      mOver = true; 
     }); 

     $(items[i]).mouseout(function() { 
      mOver = false; 
      fadeElement(true); 
     }); 

    }); 

    var fadeElement = function(isMouseOut) { 
     var thisTimeOut = (isMouseOut) ? (timeOut/2) : timeOut; 
     thisTimeOut = (faderStat) ? 10 : thisTimeOut; 
     if(items.length > 0) { 
      timeOutFn = setTimeout(makeSlider, thisTimeOut); 
     } else { 
      console.log("Poof.."); 
     } 
    } 

    var makeSlider = function() { 
     current = (current != null) ? current : items[(items.length-1)]; 
     var currNo  = jQuery.inArray(current, items) + 1 
     currNo = (currNo == items.length) ? 0 : (currNo - 1); 
     var newMargin = $(element).width() * currNo; 
     if(faderStat == true) { 
      if(!mOver) { 
       $(items[currNo]).fadeIn((timeOut/6), function() { 
        if($(itemsSpan[currNo]).css('bottom') == 0) { 
         $(itemsSpan[currNo]).slideUp((timeOut/6), function() { 
          faderStat = false; 
          current = items[currNo]; 
          if(!mOver) { 
           fadeElement(false); 
          } 
         }); 
        } else { 
         $(itemsSpan[currNo]).slideDown((timeOut/6), function() { 
          faderStat = false; 
          current = items[currNo]; 
          if(!mOver) { 
           fadeElement(false); 
          } 
         }); 
        } 
       }); 
      } 
     } else { 
      if(!mOver) { 
       if($(itemsSpan[currNo]).css('bottom') == 0) { 
        $(itemsSpan[currNo]).slideDown((timeOut/6), function() { 
         $(items[currNo]).fadeOut((timeOut/6), function() { 
          faderStat = true; 
          current = items[(currNo+1)]; 
          if(!mOver) { 
           fadeElement(false); 
          } 
         }); 
        }); 
       } else { 
        $(itemsSpan[currNo]).slideUp((timeOut/6), function() { 
        $(items[currNo]).fadeOut((timeOut/6), function() { 
          faderStat = true; 
          current = items[(currNo+1)]; 
          if(!mOver) { 
           fadeElement(false); 
          } 
         }); 
        }); 
       } 
      } 
     } 
    } 

    makeSlider(); 

}; 

})(jQuery); 

回答

1
var timeOut  = (vars.timeOut != undefined) ? vars.timeOut : 4000; 

的片段上方設置,這將隨後被下面的函數中使用的當前超時時間(4S)。

我不是在電腦前測試這個。

嘗試增加該值並查看它是否有效。

+0

不,這沒有奏效......我認爲這可能是某種錯誤,如加載或其他東西 – s28400

+0

您是否有在線示例網站? – miguelcaires

+0

是的,它是這裏的示例2幻燈片:http://www.serie3.info/s3slider/demonstration – s28400

0

在HTML標記的<head>部分操作:

<script type="text/javascript"> // This is the script for the banner slider 
    $(document).ready(function() { 
     $('slider class= or id= name').s3Slider({ 
     timeOut: 6500 
     }); 
    }); 
</script> 

更改超時值將改變多久毫秒的幻燈片圖像顯示。在上面的示例中,每個圖像將顯示6.5秒。