4

jQuery モバイル サイトを構築していますが、jQuery UI ウィジェット、特にスライダーも使用する必要があります。

問題は、これらの機能が競合することです。jQm が 'mobile-' プレフィックスを付けて UI を書いてくれたらよかったのにと思いますが、おそらく今では遅すぎると思います。

これが私が抱えている問題です。jqueryモバイルjquery uiスライダーが機能した後にjquery uiをロードすると、カスタムページトランジションが機能せず、jQmの他のもののロードが上書きされて、まだわからないことは間違いありません。

jQuery モバイル カスタム トランジションを逆にすると、jquery ui スライダーは動作しません。代わりに jQm スライダーを使用するためです。

jQuery UIスライダーの垂直オプションとその他の機能が必要なため、jQmスライダーを使用できません。

私が探しているのは、可能であればjQm/jUIの更新ごとにこれらの変更を行う必要がないため、jQuery UIまたはjQuery Mobileのハッキングを伴わないある種のソリューションです。jquery ui をロードして、「ui-」または jQuery mobile で始まる関数を呼び出して、競合する関数の前に「mobile」を付ける方法はありますか? jqm カスタム js のモバイル init 関数でしょうか?

私はここで何かを見つけましたhttps://github.com/aFarkas/jMediaelement/issues/17 コードを試しましたが、私の機能では機能しません。

何か案は?

4

2 に答える 2

7

これは私のために働いた。他の誰かが同じ問題を抱えている場合。jquery uiの後、jquery mobileの前に次の行を追加する必要がありました

$.fn.uislider = $.fn.slider;

コード例は次のようになります。

<script type="text/javascript"  src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>
<script>  
    // rename to avoid conflict with jquery mobile
    $.fn.uislider = $.fn.slider;
  </script>
<script src="http://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.js"></script> 
<script>
  $(function() {
    $( "#slider" ).uislider();
  });
  </script>
于 2013-11-18T08:26:24.263 に答える
-1

これは回避策であり、正確な修正ではありません。jQ-ui スライダーを使用しているため、スライダーを除くすべてのオプションをオンにして JQM ダウンロード ビルダーを使用しました。JQMスライダーを使用できないことを除いて、問題は解決しました。私がする必要があるわけではありません。

于 2013-01-01T13:24:07.907 に答える