页面加载时的随机图像

时间:2016-10-12 07:44:27

标签: javascript jquery if-statement random each

我目前正在建立一个网站,他们希望每个图像在加载时显示不同的图像。到目前为止,我已经能够定位这些并随机化它们,但它将相同的图像应用于所有项目。如果你能看到我出错的地方就会很棒

 internal static DateTime ConvertTimeToUtc(DateTime dateTime, TimeZoneInfoOptions flags)
{
    if (dateTime.Kind == DateTimeKind.Utc)
    {
        return dateTime;
    }
    CachedData cachedData = s_cachedData;
    return ConvertTime(dateTime, cachedData.Local, cachedData.Utc, flags, cachedData);
}

4 个答案:

答案 0 :(得分:2)

x不会改变。您可以在setTimeout()中使用$.each()将数组的随机元素推送到没有重复的数组;利用$(".item img.people") <img> src .attr(function)var description = [ "http://placehold.it/300x300", "http://placehold.it/200x200", "http://placehold.it/100x100" ]; var arr = []; $.each(description, function(i, el) { setTimeout(function() { arr.push(el); if (arr.length === description.length) { $(".item img.people") .attr("src", function(i, src) { return arr[i] }) } }, 1 + Math.floor(Math.random() * 5)) });集合,它会迭代原始选择器集合中的所有元素

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js">
</script>
<div class="item">
  <img class="people" alt="">
  <img class="people" alt="">
  <img class="people" alt="">
</div>
ip addr show eth0 | awk  '$1=="inet" {gsub(".[0-9]*/24",".0/24",$2);print $2}'

答案 1 :(得分:1)

您的代码似乎有两个问题:

  1. 您的随机数发生器位于.each循环之外。因此,为什么你的所有图像都会得到相同的图像。

  2. 所有图片都会获得src属性,即使是那些没有people类的图片。

  3. 你几乎把它弄好了。试试我使用这些更正的fiddle或下面的演示。

    var description = [
      "http://placehold.it/300x300",
      "http://placehold.it/200x200",
      "http://placehold.it/100x100"
    ];
    
    var size = description.length;
    $('.item img').each(function() {
      var x = Math.floor(size * Math.random()); //move random inside loop
      if ($(this).hasClass("people")) { //replace "img" with "this"
        $(this).attr("src", description[x]);
      }
    });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <div class="item">
      <img src="" class="people">
    </div>
    <div class="item">
      <img src="" class="people">
    </div>
    <div class="item">
      <img src="">
    </div>
    <div class="item">
      <img src="" class="people">
    </div>

    请注意,这里有4 items,但其中一个没有people类,而且没有设置为图像(只有3个)。

答案 2 :(得分:0)

您不应全局定义随机数。可能低于代码将帮助您。

var description = [
  "http://placehold.it/300x300",
  "http://placehold.it/200x200",
  "http://placehold.it/100x100"
];

var size = description.length;
var x=0;

$('.item img').each(function() {
   x = Math.floor(size*Math.random());

  if($(this).hasClass("people")) {
       $(this).attr("src",description[x]);
   }
});

答案 3 :(得分:0)

您的代码中有一些错误。你定义#dynamic_background.turnkey-project { background-image: url('../ga7-theme/img/expertise/Expertise_1.png'); } 并检查第一个if($("img".,但你想要每个img

img