2013-08-30 116 views
1

我有物理存儲在服務器上的圖像,而我想將其中的一個隨機地放在我的網站每個頁面上存在的特定div中。在頁面加載時,將隨機圖像放在div中

這是迄今爲止我已經得到了代碼:

function randomFromInterval(from, to) { 
    return Math.floor(Math.random() * (to - from + 1) + from); 
} 

$(document).ready(function() { 
    var number = randomFromInterval(1, 3) 
    $("#adv").<--some jQuery functionality here-->(function (e) { 
    switch (number) { 
     case 1: 
     $(".onSideSmall").html('<img src="..\somewhere\someImg_1.png" alt="some_text" />'); 
     break; 
     case 2: 
     $(".onSideSmall").html('<img src="..\somewhere\someImg_2.png" alt="some_text" />'); 
     break; 
     case 3: 
     $(".onSidesmall").html('<img src="..\somewhere\somsomeImg_3.png" alt="some_text" />'); 
     break; 
    } 
    }); 
}); 

但div有一個類,其它的div也有,所以我把它放在一個id以及:

<div class="onSideSmall"> 
</div> 
<div class="onSideSmall"> 
</div> 
<div class="onSideSmall" id="adv"> 
</div> 

而且現在我想知道2件事:

  • 我應該使用什麼樣的jQuery功能,因爲我找不到像onload或其他。

  • 我是否正確使用idclass div的名字? (我還沒有測試過,因爲我沒有jQuery功能)。

P.S.我從數據庫檢索HTML並直接加載它,如果需要,我不能修改它。

UPDATE:

我用下面的代碼去:

$(document).ready(function() { 
      var number = randomFromInterval(1, 3) 
      switch (number) { 
       case 1: 
        $("#adv").html('<img src="..somewhere\asd.jpg" alt="ad 1" />'); 
        break; 
       case 2: 
        $("#adv").html('<img src="..somewhere\dadada.jpg" alt="ad 2" />'); 
        break; 
       case 3: 
        $("#adv").html('<img src="..somewhere\gagaga.jpg" alt="ad 3" />'); 
        break; 
      } 
     }); 

但我得到的是alt才值,而不是圖片本身...

回答

0

你可以這樣做:

function randomFromInterval(from, to) { 
    return Math.floor(Math.random() * (to - from + 1) + from); 
} 

$(document).ready(function() { 
    var ranNumber = randomFromInterval(1, 3) 
    var picture = null; 
    switch(ranNumber) { 
    case 1: 
    picture = '<img src="http://placehold.it/550x150">' 
    break; 
    case 2: 
    picture = '<img src="http://placehold.it/150x250">' 
    break; 
    case 3: 
    picture = '<img src="http://placehold.it/350x150">' 
    break; 
    } 
    $("#adv").html(picture); 
}); 

試試這個CodePen並刷新它一堆。

+0

打我吧。 – slinky2000

+0

:D我們在想同樣的事情。 –

+0

@FrontEndGuy - 不行不行。我也嘗試過Slinky的方式 - >'$(「#adv.onSideSmall」)。html ...'但是不能再工作。我試圖直接在div中輸入'img'標籤(不使用JS):'

\t ad 3 \t
',我只能得到'alt'文本,但沒有圖片......任何想法? – Syspect

0

如果您只是將圖像加載到div中,我只是將div id添加到類名中。

function randomFromInterval(from, to) { 
    return Math.floor(Math.random() * (to - from + 1) + from); 
} 

$(document).ready(function() { 
    var number = randomFromInterval(1, 3) 
    var img = '' 
    switch (number) { 
    case 1: 
     img = '<img src="..\somewhere\someImg_1.png" alt="some_text" />'; 
     break; 
    case 2: 
     img = '<img src="..\somewhere\someImg_2.png" alt="some_text" />'; 
     break; 
    case 3: 
     img = '<img src="..\somewhere\somsomeImg_3.png" alt="some_text" />'; 
     break; 
    }; 
    $("#adv.onSideSmall").html(img); 
});