试图弄清楚如何从" var fonts"中获得一个像样的阵列。目的是在输入值中包含随机文本。目前它只会输出一长串文本(Text1Text2text3text4andsoon)。
$(document).ready(function(){
var fonts = [];
$(".oppa").each(function(){
var txt = $(this).find("li").text();
//alert(txt);
fonts.push(txt);
});
alert(fonts);
var time = setInterval(function() {
var newFont = fonts[Math.floor(Math.random()*fonts.length)];
$('#uwpqsf_id_key').attr('value', newFont);
}, 1000);
$('#uwpqsf_id_key').hover(function(ev){
clearInterval(time);
}, function(ev){
time = setInterval(function() {
var newFont = fonts[Math.floor(Math.random()*fonts.length)];
$('#uwpqsf_id_key').attr('value', newFont);
}, 1000);
});
});
答案 0 :(得分:0)
您的代码中的问题是您收到了所有" li"元素一共进入" txt"变量。因此,"字体"是一个长度为1的数组。
您需要遍历每个列表项以正确构建"字体"阵列。类似的东西:
$(document).ready(function(){
var fonts = [];
$(".oppa").each(function(){
$(this).find("li").each(function(){
fonts.push($(this).text());
});
});
alert(fonts.length); // fonts is now an array with length equal to your number of list items
/* Rest of your code goes here */
});
最佳。