2015-04-30 115 views
0

我是JavaScript新手,並且有一個幾乎完美的代碼,但需要對我的需求進行一些調整。Javascript全屏幕背景需要幻燈片幫助

此時此代碼會在我的頁面正文中生成全屏幕背景幻燈片,而我希望它能夠完成相同的工作,但通過ID將其應用於特定的div。如果可能的話,我也希望它有可以隨機選擇的選項。

我會非常感激任何幫助。謝謝。

<style> 
body { 
    background-attachment:fixed; 
    background-repeat: no-repeat; 
    background-size:cover; 
    background-position: center; 
} 
</style> 

<script language="JavaScript1.2"> 

    //Specify background images to slide 
    var bgslides=new Array() 
    bgslides[0]="images/tickets1.jpg" 
    bgslides[1]="images/tickets2.jpg" 
    bgslides[2]="images/tickets3.jpg" 

    //Specify interval between slide (in miliseconds) 
    var speed=3000 

    //preload images 
    var processed=new Array() 
    for (i=0;i<bgslides.length;i++){ 
    processed[i]=new Image() 
    processed[i].src=bgslides[i] 
    } 

    var inc=-1 

    function slideback(){ 
    if (inc<bgslides.length-1) 
    inc++ 
    else 
    inc=0 
    document.body.background=processed[inc].src 
    } 

    if (document.all||document.getElementById) 
    window.onload=new Function('setInterval("slideback()",speed)') 

</script> 
+0

你可以用一些插件的嘗試? –

回答

0

試試這個:

function slideback(){ 
     var imageToShow; 
     imageToShow=$(bgslides).eq(Math.floor(Math.random() * bgslides.length)].src; 
     document.body.background=imageToShow; 
} 

UPDATE

function slideback(){ 
     var imageToShow; 
     var imageToPick=pickRandrom(bgslides.length); 
     imageToShow=$(bgslides).eq(imageToPick].src; 
     document.body.background=imageToShow; 
} 

function pickRandom(range) 
{ 
    if (Math.random) 
      return Math.round(Math.random() * (range-1)); 
    else { 
      var now = new Date(); 
      return (now.getTime()/1000) % range; 
    } 
} 
+0

請原諒我的無知,但是應該是*而不是*現有的功能回退部分?我試過這樣做,但似乎打破幻燈片。 – argyle

+0

是的,它應該是如此..通過_打破幻燈片_你是什麼意思? –

+0

它不再顯示。我是否應該修改你給我的代碼,使它適合? – argyle