我一直在尝试以老虎机滚轮的风格创建一个随机图片显示动画。用户点击“旋转”,就会出现一个 gif 图像,呈现出老虎轮旋转的效果。当轮子停止时,旋转效果 gif 图像被随机成员的图片替换。但是,随机成员的照片没有出现。在萤火虫中,我可以看到数组被正确填充,并且成员图片(带有正确的 url)都存在。问题似乎是 jQuery 脚本没有将标签添加到图像要出现的位置,我不知道为什么。用于收集数组信息的 PHP 在这里:
$q = "SELECT id, username FROM members WHERE my_sex =:req_sex";
$stmt = $dbo->prepare($q);
$stmt->execute(array(":req_sex" => $req_sex));
while($r = $stmt->fetch()) {
$m_id = $r['id'];
$m_name = $r['username'];
$m_pic .= '"members/'.$m_id.'/minis/resized_image_'.$m_id.'_0.jpg", ';
}
$m_pic = rtrim($m_pic, ', ');
我确定在某处不正确的 jQuery 在这里:
$(document).ready(function(){
images = new Array(<?php echo $m_pic; ?>);
var length = images.length;
var which = Math.round(Math.random()*(length-1));
$('<img src="'+images[which]+'" alt="" class="randomMember"/>').prependTo('div#wheel');
};
我一直在玩这个并尝试了各种方法,并使用 firebug 进行调查,我设法实现的最好的方法是在 html 中显示以下行。
<img class="randomMember" alt="" src="" />
我不记得我是怎么做到的,但我认为它使用的是 document.write 而不是将它包装在一个函数中。我只使用 javascript 和 jQuery 一个星期左右,尽管进行了大量的谷歌搜索和阅读,但我不明白为什么这不起作用。提前致谢!
编辑:html如下:
<div class="hidden_sidebox">
<div id="chat_view">
<div id="wheel">
<img src="members/0/default_pic.jpg" alt="" class="preSpin" />
<img src="images/randomChatWheel.gif" alt="" class="spinAnimation" style="top: -220px;" />
</div>
//here is where the problem jQuery script is...I think this is the correct place for it, as it will prependTo the previous div element (which I have explicitly specified anyway, just in case)
<div id="btnPanel">
<div id="chatButton">CHAT</div>
<div id="spinButton">SPIN</div>
</div>
<div id="chatSplash"></div>
</div>
</div>
车轮旋转的功能(除了最终图像无法显示之外,它完全可以工作)在这里:
$(document).ready(function() {
$("div#chatSplash").click(function () {
$("div#chatSplash").slideUp("fast");
$('img.randomMember').hide();
$('img.spinAnimation').hide();
$('div#spinButton').removeClass('ButtonDisabled');
$('div#chatButton').removeClass('ButtonDisabled');
});
$("div#spinButton").click(function () {
$("img.preSpin").hide();
$("img.spinAnimation").show();
$('div#spinButton').addClass('ButtonDisabled');
$('div#chatButton').addClass('ButtonDisabled');
setTimeout(function(){$("img.spinAnimation").hide();
$('img.randomMember').show();
$('div#spinButton').removeClass('ButtonDisabled');
$('div#chatButton').removeClass('ButtonDisabled');
}, 2500);
});
});