每当鼠标悬停在元素上时如何显示与数组元素有关的图像

时间:2018-10-15 11:26:16

标签: javascript arrays random

我有一个字符串数组(warmUpAll,legsAll)。然后,我有一个函数可以随机选择其中的几个(getRandom)并显示它们。 当鼠标悬停/单击随机选择的元素时,我想在DOM中的某处显示图像。您认为这可能吗?应该将其添加到getRandom函数中还是其他地方?

这是我的getRandom函数:

function getRandom(arr, n) {
    var result = new Array(n),
        len = arr.length,
        taken = new Array(len);
    if (n > len)
        throw new RangeError("getRandom: more elements taken than available");
    while (n--) {
        var x = Math.floor(Math.random() * len);
        result[n] = arr[x in taken ? taken[x] : x];
        taken[x] = --len in taken ? taken[len] : len;
    }
    if (arr == warmUpAll) {
      document.getElementById("warmup").innerHTML = '<span class="exerciseheader">Warm Up - 10 minutes</span>' + "</br>" + result.join(" ");
    }
    else if (arr == legsAll){
      document.getElementById("legsDisplay").innerHTML = '<span class="exerciseheader">Legs</span>' + "</br>" + result.join(" ");
    }
    }
  }

HTML的一部分:

<body>
<div id="warmup"></div>
<div id="legsDisplay"></div>
</body>

提前谢谢你们。

1 个答案:

答案 0 :(得分:0)

您可以编写另一个悬停功能或单击ex:

function mouseHover()
{
//do something
}

并将其添加到您的函数中

function getRandom(arr, n) {
   //...

    if (arr == warmUpAll) {
      document.getElementById("warmup").innerHTML = '<span class="exerciseheader" onmouseover="mouseHover()">Warm Up - 10 minutes</span>' + "</br>" + result.join(" ");
    }
    else if (arr == legsAll){
      document.getElementById("legsDisplay").innerHTML = '<span class="exerciseheader" onmouseover="mouseHover()">Legs</span>' + "</br>" + result.join(" ");
    }
    }
  }