我试图从这3个元素中获取结果,每次单击按钮时它都会更新
<span id="machine1Result" class="slotMachine noBorder">0</span>
<span id="machine2Result" class="slotMachine noBorder">0</span>
<span id="machine3Result" class="slotMachine noBorder">0</span>
使用此代码尝试获取元素的3个组合值,如果匹配,我可以进行一些更改:
var text = $('#machine1Result,#machine2Result,#machine3Result').text();
var comparingText0 = "000";
var comparingText1 = "111";
if (text == comparingText0) {
$('.wonbg').css({'background-image': 'url(img/won_bg.png)'});
$('.rw14').css({'backgroundColor': '#ff9900'});
count += 1;
}
if (text == comparingText1) {
$('.wonbg').css({'background-image': 'url(img/won_bg.png)'});
$('.rw1').css({'backgroundColor': '#ff9900'});
count += 1;
}
else {
$('.slotMachineButton').click(function() {
$('.wonbg').css({"background": "none"});
$('.rewards').css({"background": "none"});
});
}
如果元素具有相同的数字,则上面的代码会正确运行条件,但即使有一个错误的数字表示110或101,它也会起作用,反之亦然,尝试===
给我相同的结果
答案 0 :(得分:1)
如果第一个条件为真,它也会触发其他条件。那是因为这一行
if ( text == comparingText1 ) {
如果,应该是其他的
else if ( text == comparingText1 ) {
现在所有条件都将被链接。
Bow另一个问题是text is text()
var text = $('#machine1Result,#machine2Result,#machine3Result').text();
编辑:既然你提出的是错的,我必须改变答案......
text)_只会给出第一个答案,所以你需要循环遍历它们
var results = $('#machine1Result,#machine2Result,#machine3Result');
results.each( function() {
var currentLine = $(this);
var currentText = currentLine.text();
console.log(currentText);
} );
答案 1 :(得分:0)
我想通了,插件http://plugins.jquery.com/slotmachine/本身导致后期检测元素的最终结果:
在插件停止并设置结果后,在写入最终结果之前有1.3秒的延迟,比如说000
然后它再写一个001, 011
结果111
我注意到它当注入alert();
时,它提醒我超过3个不同的结果,它也发生在console.log()
,发送超过4到5个请求。
我所做的就是在最终结果发生时设置超时1.3秒,所以:
setTimeout(function () {
var results = $('#machine1Result, #machine2Result, #machine3Result').text();
var comparingText0 = "000";
var comparingText1 = "111";
if ( results == comparingText0 ) {
$('.wonbg').css({'background-image' : 'url(img/won_bg.png)'});
$('.rw14').css({'backgroundColor' : '#ff9900'});
count += 1;
}
else if ( results == comparingText1 ) {
$('.wonbg').css({'background-image' : 'url(img/won_bg.png)'});
$('.rw1').css({'backgroundColor' : '#ff9900'});
count += 1;
}
else {
$( '.slotMachineButton' ).click(function() {
$('.wonbg').css({"background" : "none"});
$('.rewards').css({"background" : "none"});
});
}
}, 1300);