2011-06-27 11 views
2

iPadアプリケーションを構築するPhoneGapでjQueryを使用しています。PhoneGap + jQuery = onclickで奇妙な再描画のちらつき? (不透明にアニメーションを適用するとちらつきが発生します)

私は、各LIは左浮かべてシンプルなメニューは、ULから成る必要があり、このDIVの中-webkit-transform: translate3d(0,80px,0)

を使用して、所定の位置にアニメーション化する絶対位置のdivを使用してモーダルウィンドウを構築しています。

私が選択した項目を強調表示することができるようにすることに、このjQueryのを追加しました:

var $optionsPlayers = $('#optionlist-players li'); 
$optionsPlayers.click(function() { 
    $optionsPlayers.filter('.selected').removeClass('selected'); 
    $(this).addClass('selected'); 
    players = ($(this).index()) + 1; 
    }); 

私はれるLIのいずれかをクリックしたときに、私も、これは非常に奇妙な得ることを除いて、意図したとおりに、このすべての作品、モーダルDIVが1秒間ポジショニングを失って戻ってくるように見えるスクリーングリッチ。このちらつきは、モーダルが画面の左側に移動して再び表示されるように見えます。

これは、シミュレータとiPad 2自体の両方で発生します。

このようにjQueryイベントとPhoneGapに関連する既知の問題がある場合には、犯人が何かを見つけることができるかどうかを確認するために、 ?

UPDATE:

UPDATE 2:私は先に行って、.bind( 'touchstart' のjQueryの.click()をスワップアウト

Here's a short video of it in operationはそうあなたが奇妙なちらつきを見ることができます...)

これは少し敏感ですが、私はまだまったく同じ奇妙な画面の再描画/ちらつきがあります。

更新3:解決策!それを見つけた!以下に回答を追加してください...

+0

http://www.phonegap.com/ –

+0

@jared- ?????? –

答えて

3

時間を費やして絞り込み、犯人を見つけました。問題は不透明です。デフォルトでは

私はtouchstartイベントを適用してい要素は、このスタイルを持っている:

.example { 
    -webkit-opacity: .25; 
} 

イベントがクラスを追加します。これを行う

.example.selected { 
    -webkit-opacity: 1; 
} 

が、これはへの内部にあるDIVを引き起こしこのちらつきを素早く再描画します。

それは解決策はただこれは、ちらつきなしで動作し、完全に1に不透明度を変更しないことであることが判明:

.example.selected { 
    -webkit-opacity: .99; 
} 

奇妙な!

+0

同様の問題が発生していますが、これを減らしても問題は完全には取り除かれていないようです。 – Glenn

+0

私は同様の問題があったため、可視性を使用して解決しました:崩壊/可視、後で不透明度を使用します。 –

+0

rgba()を使用したときに不具合を修正するのではなく、色だけを修正するという問題があります。 – bafromca

関連する問題