hasClass() 在 setInterval 中未计算 true



好的,这是我的问题:我正在尝试通过检查是否单击了Facebook喜欢的按钮来触发重定向。如果它已被单击,那么我可以继续检查某个div 是否具有某个类。如果它在任何时候评估为 true,它将触发重定向。但它没有这样做。

我使用 setInterval 的原因是它必须在页面加载时持续检查这一点,以防他们已经喜欢它。

这是 HTML:

<div class="pluginConnectButton">
<div title="" class="pluginButton pluginButtonSmall pluginConnectButtonDisconnected hidden_elem">
    <div>
    <button type="submit">
    <i class="pluginButtonIcon img sp_like sx_like_fav"></i>Like
    </button>
    </div>
</div>
<div title="" class="pluginButton pluginButtonSmall pluginButtonPressed pluginButtonX pluginConnectButtonConnected">
<div>
<button type="submit">
<i class="pluginButtonIcon pluginButtonXOff img sp_like sx_like_ch"></i>
<i title="" class="pluginButtonIcon pluginButtonXOn img sp_like sx_like_x"></i>
</button>Like
</div>
</div>
</div>

下面是 JS/jQuery:

setInterval(
function(){
if ($('div.pluginConnectButton div').eq(0).hasClass('hidden_elem')) {
    window.open('http://thebasinhaircutters.com.au/competitions/abd/m/next.php', '_parent');
}}
,1000);

它基于此测试工作?

var interval = null;
$(function() {
    interval = setInterval(function() {
    if($('input').hasClass('clicked')) {
        clearInterval(interval);
        alert('I've been clicked!');​​
    } else {
        console.log('I've not been clicked');
    }
    }, 1000);
    $('input').click(function() {
    $(this).addClass('clicked');
    });
});
​

示例:http://jsfiddle.net/gRoberts/8ZXba/

密切关注控制台以查看它在每个间隔期间的运行情况,然后单击按钮时,将显示警报。

最新更新