2013-07-18 80 views
0

我有一個生成QR碼並將它們提供給空IMG標籤的jQuery函數。代碼完美地工作,唯一的問題是它需要幾秒鐘來生成這個代碼。所以,我基本上需要光標在函數執行時顯示一個繁忙的符號,並且一旦生成的代碼被輸入到空的img標記完成時恢復正常。jquery執行函數時將光標從「等待」改爲「自動」

我的問題是兩倍。

問題1

我無法使鼠標變爲忙標誌。我試着用下面的CSS代碼無濟於事:

$('body').css({'cursor':'wait'}); 

問題2

我如何獲得了QR碼被創建時的代碼來了解和然後在瀏覽器恢復正常?我懷疑最好的解決辦法是運行一次檢查來查看圖像標記何時被賦值,然後將光標恢復到正常。

我附上我下面的代碼:

空圖像標籤:

<img id="qr-code-image" src="" style="vertical-align: middle" /> 

jQuery的功能:

$('#link-types input[type=radio]').click(function() { 
    $('#qr-code-image').attr('src', ''); 
}); 

    $('#link-types input[type=radio]').click(function() { 

    if (!$("input[class='link-selector-bespoke']").is(':checked')) { 
    var url = $('#link-flash').text(); 
    $('body').css({'cursor':'wait'}); 
    } 
    else 
    { 
    var url = $('#link-bespoke').text(); 
    }   
    var encodedvalues = jQuery.base64Encode(url); 

    var imgUrl = '<?= $this->baseUrl() ?>/scripts/qr/t/' + encodedvalues; 

$('#qr-code-image').attr('src', imgUrl); 
    $('body').css({'cursor':'default'}); 
}); 

回答

0

使用的onload事件回調函數圖片:

$('#qr-code-image').off('load').on('load',function(){ 
    if(this.complete) 
      $('body').css({cursor:'default'}); 
}).attr('src', imgUrl); 
+0

你好烤。非常感謝你的回答。它完全正確 – andreea115