我有一块看起来像这样的HTML:
<div id="banners">
<a href="p1.html"><img src="img1.jpg" /></a>
<a href="p2.html"><img src="img2.jpg" /></a>
<a href="p3.html"><img src="img3.jpg" /></a>
<a href="p4.html"><img src="img4.jpg" /></a>
<a href="p5.html"><img src="img5.jpg" /></a>
</div>
Run Code Online (Sandbox Code Playgroud)
使用JavaScript,我想随机选择其中两个图像及其相应的链接并显示它们,同时隐藏其他图像.此外,他们不需要重复,这意味着,我想避免同时显示像img1.jpg img1.jpg这样的东西.
jQuery正在网站上使用,所以如果提议的解决方案是一个jQuery解决方案,那就太好了.
不幸的是,我无法访问该站点的后端,否则我将探索服务器端解决方案.在这种情况下,这是不可能的.
拥有数组数组
var a = [[[1, "alpha", "a"],
[2, "beta", "b"]],
[[3, "gama", "c"]],
[[4, "delta", "d"]]];
var b = [];
Run Code Online (Sandbox Code Playgroud)
1)如何合并a[0]和a[2]成b?
2)我怎样才能改组阵列b?
这是我正在使用的随机算法>>
Array.prototype.shuffle = function() {
for (var i = 0; i < this.length; i++)
this.push(this.splice(Math.random() * (this.length - i), 1)[0]);
return this;
}
Run Code Online (Sandbox Code Playgroud)
语法
myArray.shuffle();
Run Code Online (Sandbox Code Playgroud) 我试图改变jQuery选择的顺序,而不是洗涤DOM中的元素.
我需要随机选择以随机顺序为每个元素添加一个类,这就是我的代码应该是这样的:
$(".item").shuffle().each(function (i, element) {
$(element).delay(i * 100).queue(function (next) {
$(this).addClass("shown");
next();
});
});
Run Code Online (Sandbox Code Playgroud)
有人可以帮我找到shuffle()我需要的功能吗?
我正在尝试使用TweenMax创建一个staggerTo()动画,它以随机顺序影响元素,这意味着我不希望实际动画是随机的,而是它的顺序.
为此我使用此函数获取我想要动画和随机播放的所有元素:
$.fn.shuffle = function() {
var allElems = this.get(),
getRandom = function(max) {
return Math.floor(Math.random() * max);
},
shuffled = $.map(allElems, function(){
var random = getRandom(allElems.length),
randEl = $(allElems[random]).clone(true)[0];
allElems.splice(random, 1);
return randEl;
});
return $(shuffled);
};
var elements = $('.animate').shuffle();
Run Code Online (Sandbox Code Playgroud)
我然后午餐吃了staggerTo动画:
TweenMax.staggerTo(elements, 0.1, {y: 100, ease: Quad.easeInOut}, 0.1);
Run Code Online (Sandbox Code Playgroud)
但是当然,我意识到我把它弄错了,因为TweenMax并没有动画实际的DOM元素,而是它的虚拟克隆.
不幸的是,我不知道如何从这里开始.
任何人都可以帮我吗?谢谢!
我需要能够点击一个按钮,然后以随机顺序出现一些不同的名称,而不重复任何名称.显示随机名称很简单,但我无法避免重复.这就是我所拥有的,我不明白为什么它不起作用.
<script>
var players = []
players[0] = "Billy";
players[1] = "Alex";
players[2] = "Kevin";
players[3] = "Fred";
function tournament(amount) {
var a = 0, i = 0, place = 1;
randomlyselect:
while (a<amount) {
var randomplayer = Math.floor(Math.random()*(players.length));
if (players[randomplayer] === document.getElementById('player1').innerHTML || document.getElementById('player2').innerHTML || document.getElementById('player3').innerHTML) {
continue randomlyselect;
}
else {
document.getElementById('player'+place).innerHTML = players[randomplayer];
place++;
a++;
}
}
}
</script>
<button onClick="tournament(4)">Tournament Results</button>
<p id="player1"></p>
<p id="player2"></p>
<p id="player3"></p>
<p id="player4"></p>
Run Code Online (Sandbox Code Playgroud)
我知道问题是if语句,但我不知道如何检查名称是否已经显示.如果您知道我检查某些东西是否已经被挑选的方法有什么问题或者更好的避免重复的方法,请告诉我.
如何使这个随机密码生成器生成至少一个组件?目前,生成的密码中不包含数字,或者省略任何其他类型.如何让它生成至少一种类型?
$scope.passwordLength = 12;
$scope.addUpper = true;
$scope.addNumbers = true;
$scope.addSymbols = true;
$scope.createPassword = function(){
var lowerCharacters = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'];
var upperCharacters = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'];
var numbers = ['0','1','2','3','4','5','6','7','8','9'];
var symbols …Run Code Online (Sandbox Code Playgroud) 下面的代码适用于普通数组,但不适用于带有对象的数组,有人知道怎么做吗?
const array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
function shuffle(array) {
for (let i = array.length - 1; i > 0; i--) {
let j = Math.floor(Math.random() * (i + 1));
let temp = array[i];
array[i] = array[j];
array[j] = temp;
}
return array;
}
const result = shuffle(array);
console.log(JSON.stringify(result));Run Code Online (Sandbox Code Playgroud)
假设我有三个 div - A、B 和 c - 并且我想在用户单击“重新排序”时更改它们的顺序。例如,将 B 放在第一,C 第二,A 第三。在 Vue 中执行此操作最干净的方法是什么?
编辑:实际上,div 中有很多内容,因此使用{ divs: ['A', 'B', 'C'] }a之类的操作v-for会变得太混乱。
let app = new Vue({
el: '#app',
methods: {
reorder: function () {
},
},
});Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<div id="app">
<div>A</div>
<div>B</div>
<div>c</div>
<button v-on:click="reorder()">Reorder</button>
</div>Run Code Online (Sandbox Code Playgroud)
我观看了 codecademy 视频,但无法随机化我的颜色数组。颜色不是随机的。我不确定我做错了什么。
function getRandomColor() {
var color;
var colorArray = [
"#FF6633",
"#FFB399",
"#FF33FF",
"#FFFF99",
"#00B3E6",
"#E6B333",
"#3366E6",
"#999966",
"#809980",
"#E6FF80",
"#1AFF33",
"#999933",
"#FF3380",
"#CCCC00",
"#66E64D",
"#4D80CC",
"#FF4D4D",
"#99E6E6",
"#6666FF"
];
for (var i = 0; i < colorArray; i++) {
color = colorArray[Math.floor(Math.random() * colorArray.length)];
}
return color;
}
Run Code Online (Sandbox Code Playgroud) 如何在javascript中对数组进行随机排序?
我已经尝试过这个:
array.sort(function(a, b){return Math.random()});
Run Code Online (Sandbox Code Playgroud)
但它不起作用。