0

jQueryプラグインがドラッグ可能にする要素がウィンドウの左端から移動するタイミングを検出しようとしています。

オン ドラッグ カスタム イベントに if 条件があります。イベントはドラッグ時に発生しますが、条件内のアラートは、要素が画面の左端から離れたときに発生しません。

これにより、if 条件に何か問題があると考えるようになります。

私には、これは左に行くことを読み取り、0% を超えるものが画面の左端から外れている場合です。

$('#tabViewWindow').pep({
    axis:'x',
    useCSSTranslation:false,
    drag:function(ev, obj){
    if(obj.dx>0 && obj.$el.offset().left>$(window).width()*0){
        obj.velocityQueue = new Array(5);
        alert("left and moving towards off screen");
        return false;
    }
    handleOpacity(ev, obj)
    },
 });
 function handleOpacity(ev, obj){
    var opacity = 1 - (parseInt(obj.$el.css('left'))/$(window).width());
    obj.$el.css('opacity', opacity);
 }
4

1 に答える 1

0

ブラウザによって要素が存在するページに対して計算された要素の境界ボックスを取得し、element.getBoundingClientRect().left(これは jQuery の offset.left と同じかもしれません) を使用し、それが 0 未満かどうかを確認することをお勧めします。あなたの要素は少なくとも部分的に画面外にあります。次に、2 番目のチェックとして、element.getBoundingClientRect().left + element.getBoundingClientRect().widthが 0 より小さい場合、要素は完全にオフスクリーンです。

于 2013-06-13T01:01:57.673 に答える