jqueryとナビゲーションリンク(つまり、サービスが選択されるとサービスリンクが展開されない)と一緒に、一連のdivの1つをランダムに表示しようとしています。私は、このフォーラムでこのコードをさまざまな形でさまざまな形で見つけました。そして、もし私が望むものにそれを適応させることができるかどうか、そしてそれがどういうものか疑問に思っていました。jqueryでランダムに6つの変数のうちの1つを作成する
var services = $(random1, random2, random3).get()
.sort(function(){return Math.round(Math.random());}).slice(0,1)
$(services)/*Conditions here*/;
var random1 = false;
var random2 = false;
var random3 = false;
これは本当に悪い例です。私はそれに迷ってしまいます。どんな助けでも大いに感謝され、事前に感謝します。
EDIT:以前より簡単に比較しようとしましたが、ここで実際に作業しています。私は@pstからコードを適用しようとしました。
var v1 = "hello"
var v2 = "world"
var control = [
function (v) { v1 = v },
function (v) { v2 = v }
]
$.each(control, function (i, fn) {
fn(false)
})
$("a#random-btn").click(function(event){
event.preventDefault();
var trueIdx = Math.floor(control.length * Math.random())
props[trueIdx](true)
if (v1 === true){
$("div#small-obstacles-contain a#1 span").stop().animate({opacity: 1,}, '100').animate({opacity: 0,}, '100');
$("div#small-obstacles-contain a#2 span").stop().animate({opacity: 1,}, '100').animate({opacity: 0,}, '100');
}
if (v2 === true){
$("div#small-obstacles-contain a#3 span").stop().animate({opacity: 1,}, '100').animate({opacity: 0,}, '100');
$("div#small-obstacles-contain a#4 span").stop().animate({opacity: 1,}, '100').animate({opacity: 0,}, '100');
}
});
DOM要素ではないオブジェクトをjQueryオブジェクトにラップしないでください。 jQueryを使うべきではありません。あなたは普通のjavascriptを使ってそれを行うことができます。そして、あなたがうまく機能するようにするには[Underscore.js](http://documentcloud.github.com/underscore/)を見てください。それ以外にも '$(random1、random2、random3).get()'は '[random1、random2、random3]'と同じですので、あなたがvarsをラップしてから再度ラップ解除するので、実際にjQueryを使用していません。 '$(services);'は戻り値を捨ててから何もしません。 – ThiefMaster
私はリターンをまだ追加していませんでした。私はデフォルトの '.show()'でそれを持っていました。おそらく '.animation()'になるでしょう。気にする必要はありません。 – Shopmelk