2014-10-31 160 views
0

你完全坚持希望你能帮助。选择随机选项,并做功能

我正在做菜单。我希望菜单总是选择一个随机选项。

<select id="textFont"> 
<option value="A"></option> 
<option value="B"></option> 
<option value="C"></option> 
</select> 

var $options = $('#textFont').find('option'), 
var random = ~~(Math.random() * $options.length); 
$options.eq(random).prop('selected', true); 

document.getElementById("wrapper").style.fontFamily=random; 

上面的代码工作的很好,现在到了。我希望这个随机值进入最后一个改变#wrapper字体家族的函数。但是当我提醒('随机')时,我得到了许多选项数组。有没有看到1到3 =('A','B','C')的值并将其输出到最后一个函数?

例如:

document.getElementById("wrapper").style.fontFamily='A'; 
document.getElementById("wrapper").style.fontFamily='C'; 

最佳一如既往, XX

+0

'VAR随机= ~~(的Math.random()* $ options.length);' - 什么与达双波浪? – tymeJV 2014-10-31 14:58:10

+2

@tymeJV:这是'Math.floor()'的简写(/ hack)' – Cerbrus 2014-10-31 14:59:39

+0

@Cerbrus - 每天学习新东西(我假设所有漂亮的引号都是关闭的) – tymeJV 2014-10-31 15:00:04

回答

0

你可以做这样的事情(Fiddle here

function selectRandom() { 

    // The dropdown list 
    $selectList = $('#textFont option'); 

    // Amount of options in it 
    var options = $selectList.length; 

    // Random number between 1 and the amount of options 
    var random = Math.floor((Math.random() * options) + 1); 

    // Select the option based in the random number 
    $selectList.eq(random).prop('selected', true); 
} 

并调用该函数在你的document.ready()函数每次有人刷新页面时加载一个随机选项:

$(document).ready(function() { 
    selectRandom(); 
}); 
1

这是你在找什么:

document.getElementById("wrapper").style.fontFamily = $options[random].value; 
+0

确切地说 - 添加“'”+ $ options [random] .value; “'”;再次感谢您的帮助! – duplex 2014-10-31 16:10:19

+0

@duplex:你为什么要加引号?你不应该需要他们。 – 2014-10-31 16:11:25