質問

それが経過したとき、私は両方とも水平に全体的な動きに制限されている非常にiphone-Yスライダ要素作成した(0-400pxをし、それが垂直方向に移動しない)と400ピクセル、「コンテナ」のいずれかの側に「スナップ」 200pxのマークとドラッグが終了しました。これはFirefoxで完璧に動作します。サファリ、この400ピクセルコンテナのいずれかの端に要素を配置するonEnd機能では、呼び出されることはありません。いただきました、多くのマウスカーソルをドラッグ可能な要素「スティック」と私はアニメーションを終了するにはページをリロードする必要があります。

ここに私のコードがあります。

<div style="width:100px;height: 60px;background-color:#000;z-index:999" id="dragtest" />
<script language="JavaScript" type="text/javascript">
new Draggable('dragtest', { constraint: 'horizontal',
    onEnd: function(e, me) {
        console.debug("!!!")
        element = e.element
        x = element.style.left
        x = x.gsub('px','')

        if (x >= 200) {
            $('dragtest').style.left = 400+'px';

        }

        if (x < 200) {
            $('dragtest').style.left = 0+'px';
        }

        console.debug("Snapping to ", element.style.left, " (x was ", x, ")")
        return true;

    },
    snap: function(x, y) {
        ret_x = x
        ret_y = y

        if (x >= 400) {
            ret_x = 400
        }

        if (x <= 0) {
            ret_x = 0
        }

        return [ret_x,ret_y]

    }
});
</script>

ありがとう! アンドリュー

役に立ちましたか?

解決

あなたの今後の参考のために()onEndハンドラがこれを解決内から呼び出すconsole.debugのコメントを外し、(本のうち、Googleの何かをcouldntの)。奇妙ます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top