0

編集1
これはタッチイベントについてです。目的は、ワンタッチ->延長、2回目のタッチリトラクトで(モバイルデバイス上で)アクションを実行することです。別のアイテムをタッチ->それは伸び、前は縮みます。

これが摩擦です:iPad4.3.3はうまく機能します。iPhone 5.1&6.0、およびAndroid 4-2番目のタッチは、収縮および伸長します。望ましい効果ではありません。ここで例をチェックしてください見てくれてありがとう。

これはjQueryまたはモバイルOSのバグですか?

$(document).ready(function () {   
    if((navigator.userAgent.match(/iPhone|iPod|iPad|Android/i))) {
        $('#nav li').click(function(){
            // attach a click event listener to provoke iPhone/iPod/iPad's hover event
            // Amended the next 3 lines 
            var $this_li = $(this);  
            $('#nav li ul').slideUp(function() {
                $('ul', $this_li).slideDown();
            });
        });
    } else {
        $('#nav li').hover(
            function () {
                //show its submenu
                $('ul', this).slideDown(200);
            }, 
            function () {
                //hide its submenu
                $('ul', this).slideUp(200);         
            }
        ); 
    }  
});
4

2 に答える 2

0

最初にすべてのliを撤回し、次にスライドアップのコールバックでクリックしたものをスライドダウンします。このようにして、現在のliが撤回された後、クリックされたliが下にスライドします。

$('#nav li').click(function(){  
    var $this_li = $(this);  
    $('#nav li ul').slideUp(function() {
        $('ul', $this_li).slideDown();
    });
});
} else {

于 2012-08-07T03:06:37.777 に答える
0

試す:

var test = 0;
$('#nav li').click(function(){
    if(test == 0) {
        $('ul', this).slideDown();
        test = 1;
    } else {
        $('ul', this).slideUp();
        test = 0;
    }
});

これはあなたがテストできることについて話していたオン/オフスイッチです

于 2012-08-07T03:11:04.230 に答える