1
我爲使用JQuery的網站設置了搜索功能。所有不匹配的結果都通過toggle()刪除,並且頁面上有很多數據。正如您可以成像,搜索需要幾秒鐘才能運行。jQuery等待Attr變更
要提供一些用戶反饋,表明搜索正在運行,我試圖用spinner gif替換img源。
這是我正在嘗試做的。在搜索按鈕的點擊()(或從搜索框中輸入):
$('div#search img').attr('src', '/static/img/spinner.gif');
search_contacts(s);
$('div#search img').attr('src', '/static/img/search.gif');
我有Chrome開發人員工具打開,顯示網絡選項卡。只要我嘗試搜索,我就會看到註冊了spinner.gif的GET請求。問題是這個請求被設置爲「pending」,並且在search_contacts()
正在運行時永遠不會前進。搜索完成的那一刻,Gif負載(好,304在5ms內沒有修改)。
什麼是讓jquery/javascript等待屬性更改在運行之前完成的正確方法?
你沒發現這個鏈接你的答案? – pbenard
不幸的是,這是行不通的。新的gif的GET始終保持「掛起」狀態,直到「search_contacts」函數完成。 (在你的代碼中,attr的變化和函數應該交換,但是它也沒有正確的行爲。) – fandingo