別のカスタム関数と同じように定義されたカスタム関数があります。2 番目のカスタム関数は機能しますが、最初のカスタム関数は機能しません。
違いは、最初のカスタム関数が if 条件で発生することです。
if 条件に何か問題があると思っていましたが、その中のアラートが発火するように機能しているようです。その中のカスタム関数だけではありません。
これが私のコードです:
$('#tabViewWindow').pep({
axis:'x',
useCSSTranslation:false,
drag:function(ev, obj){
if(obj.dx>0 && obj.$el.offset().left>=$(window).width()*0.6){
/*alert("slide here");*/
slideLeft(ev, obj);
}
handleOpacity(ev, obj);
},
});
function handleOpacity(ev, obj){
var opacity = 1 - (parseInt(obj.$el.css('left'))/$(window).width());
obj.$el.css('opacity', opacity);
}
function slideLeft(ev, obj){
obj.$el.animate({left:'100%'});
}
最初のカスタム関数はhandleOpacity()
. それはうまくいきます。2 つ目のカスタム関数はslideLeft()
. それはうまくいきません。しかし、slideLeft()
現在コメントアウトされている の呼び出し前のアラートは正常に機能します。
どうすればslideLeft()
その状態になることができますか?
更新:ここに私の問題を再現する JS Fiddle があります: http://jsfiddle.net/bccQh/1/
画面から 60% 以上離れている場合は、#tabViewWindow を left:100% にして、右にスライドさせようとしています。