jQuery で何かをしようとしていますが、アクションが遅すぎます。
iOS UIWebView に埋め込み (pinterest レイアウトのような) コレクション (純粋な CSS) があり、各ピンにはボタンがあり、このボタンはアクションに愛を送ります。ユーザーがボタンに触れると、愛をサーバーに送信し(愛を解く)、UIを更新する必要があります(より正確には背景画像を変更します)。
問題は、ユーザーがボタンを押してから、(背景画像が変更される前に) ほぼ 1 秒の遅延があることです。セカンダリ スレッドを「エミュレート」する setTimeout 関数を使用して、これを回避しようとします。しかし、期待どおりには機能しませんでした。
私が正確に試したのは:
setTimeout(function() {
love_btn.css("background-image", "url(btn_like_black@2x.png)");
pin.find(".love").css("background-image", "url(img_like@2x.png)");
var x = parseInt(pin.find(".counter").first().text());
var u = x - 1;
pin.find(".counter").first().text(u);
}, 0);
window.location.href = "protocol://unlove/" + love_id;
最後の行は、love (unlove) を登録する WebService を呼び出すために、objective-c コードで処理されるリダイレクトです。
ちなみに、サーバーコールでもタイムアウトを試しました。問題は、jQuery を使用してできるだけ早くこの背景画像を変更する方法はありますか? 私が思うようにsetTimeout関数のワーリングは本当に機能していますか?
ありがとう。