在页面加载时,将随机图像放在div中

时间:2013-08-30 13:13:55

标签: javascript jquery html image onload

我将图像物理存储在服务器上,而我想将其中一个图像随机地放在我网站每个页面上的一个特定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>

现在我想知道两件事:

  • 我应该使用jQuery的哪些功能,因为我找不到像onload或其他任何东西。

  • 我是否正确使用了div的idclass名称? (我还没有测试过,因为我没有jQuery功能)。

P.S。我正在从数据库中检索HTML并直接加载它,如果需要,我无法修改它。

更新

我使用以下代码:

$(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的价值,而不是图片本身......

2 个答案:

答案 0 :(得分: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并刷新一堆。

答案 1 :(得分: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);
 });