2011-10-24 5 views
-1

나는 이전에이 질문을했지만 그 일을 묘사하는 무서운 일을했습니다. 나는 당신이 클릭하는 링크를 만들려고하고 그것은 무작위로 변수를 만들어 애니메이션/이벤트 체인을 시작합니다. 이것이 jQuery와 가능한가? 당신의 도움을 주셔서 감사합니다.jQuery : 링크를 클릭하고 확률 변수를 true로 변경하십시오.

편집 : 그것이 될 것입니다 설명하는

가장 좋은 방법 :

var random1 === false 
var random2 === false 
var random3 === false 

$("a#random-btn").click(function(event){ 
"var random1, random2, or random3" === true; 
}); 

if (random1 === true){ 
$("a#1 span").stop().animate({opacity: 1,}, '100').animate({opacity: 0,}, '100') 
}); 

if (random2 === true){ 
$("a#2 span").stop().animate({opacity: 1,}, '100').animate({opacity: 0,}, '100') 
}); 

if (random3 === true){ 
$("a#3 span").stop().animate({opacity: 1,}, '100').animate({opacity: 0,}, '100') 
}); 
+0

변수는 자바 스크립트 또는 스크립트 언어에 ?? – diEcho

+0

중복 질문을 게시하지 마십시오. http://stackoverflow.com/questions/7869813/making-1-of-6-variables-true-randomly-in-jquery – Sparky

+0

내가 그것을 이해하지 못하기 때문에 beautifull를 다시 설명 할 수 있습니까? ar 타임 아웃을 위해서? – beardhatcode

답변

1

참고 : 내 대답은 무작위 사실로 변수를 할당 할 수 없습니다. 변수를 true로 지정하고 다른 것들을 사용하기 위해 노력하고있는 것 같습니다. 맞습니까? 왜 int를 사용하지 않고 로직을 변경하고 switch 문을 사용합니까?

var branch = -1; 
$("a#random-btn").click(function(event){ 
    branch = Math.ceil(Math.random() * 3); 

    switch(branch){ 
     case 1: 
      $("a#1 span").stop().animate({opacity: 1,}, '100').animate({opacity: 0,}, '100') 
      break; 
     case 2: 
      $("a#2 span").stop().animate({opacity: 1,}, '100').animate({opacity: 0,}, '100') 
      break; 
     case 3: 
      $("a#3 span").stop().animate({opacity: 1,}, '100').animate({opacity: 0,}, '100') 
      break; 
    } 
}); 

이상의 컴팩트

var branch = -1; 
$("a#random-btn").click(function(event){ 
    branch = Math.ceil(Math.random() * 3); 

    $("a#" + branch + " span").stop().animate({opacity: 1,}, '100').animate({opacity: 0,}, '100') 
}); 
+0

이 경우 사용자의 특정 문제에 대한 내 해결책보다 스크립트를 작성하는 훨씬 더 좋은 방법입니다. –

+0

이것은 완벽하게 작동합니다! 나는이 사건에 대해 들어 본 적이 없다. 모두에게 감사 드려요. – Shopmelk

0

당신이 무작위로 변수가 true하여 무엇을 의미합니까? 또한 일련의 애니메이션/이벤트를 시작하면 무엇을 의미합니까? 나는 정말로 그 질문을 이해하지 못한다.

하지만 클릭 할 때 변수를 변경하고 싶다면 그냥하십시오.

jQuery('a').click(function(){ 
var myVariableFalse = true; 
}); 
+0

질문을 이해하지 못한다면 정말 적절한 답이 될 수 없습니다. 'var에 random1 마찬가지로 – Sparky

+0

=== 거짓 var에 random2 === 거짓 var에 random3 === 거짓 $는 ("A # 임의 BTN은"). (함수 (이벤트) { var에 random1을 클릭, random2 또는 random3 === true; }); if (random1 === true) { $ ("a # 1 span"). stop(). animate ({opacity : 1,}, '100').animate ({opacity : 0,}, '100'); } – Shopmelk

0

정말 멋지지만 작동합니다.

<script> 
    var var1 = false; 
    var var2 = false; 
    var othervar = false; 
    var variables = ["var1","var2","othervar"]; 
</script> 
<a href="Javascript:eval(variables[Math.floor(Math.random()*variables.length)] + ' = true;');">link</a> 

내 제안은 문자열에 쉽게 참조되는 개체에 변경하려는 모든 변수를 포함시키는 것입니다.

<script> 
    Object.size = function(obj) { 
     var size = 0, key; 
     for (key in obj) { 
      if (obj.hasOwnProperty(key)) size++; 
     } 
     return size; 
    }; 
    var variables = {"var1":false,"var2":false,"othervar":false}; 
</script> 
<a href="Javascript:variables[Math.floor(Math.random()*Object.size(variables))] = true;">link</a> 

Object.size taken from here.

관련 문제