画面から垂直にドラッグできるこのdivがあります。そのdivが特定の制限を超えたかどうかを検出し、ページから自動的にスライドするアニメーションを表示する方法があるかどうかを知りたいです。私がこれまでやってきたことはうまくいくはずだと思っていましたが、残念ながら、JavaScript に関する私の平凡な知識は醜い結末を迎えました。これが私がこれまでに持っているものです:
$(document).ready(function() {
$("div").draggable({
axis: "y", // vertical drag only
drag: function(event, ui) { // THIS NEXT BLOCK JUST MAKES SURE IT WON'T DRAG OFF THE BOTTOM OF SCREEN
if($(this).offset().top + $(this).outerHeight() > $(window).height()) {
$(this).offset({"top": $(window).height() - $(this).outerHeight()});
event.preventDefault();
}
}
});
if($("div").css("top") == "-340px") {
$("div").animate({
top: "-100%"
});
}
});
jQuery UIの「ドラッグ可能」がプロパティを使用していることを知っていtop
ます.Google Chromeのデバッガツールを見て、ドラッグしているとインラインスタイルが動的に挿入さtop: -(x)px;
れ、divをドラッグしている間は登り続けます。したがって、論理的には、パスがドラッグされるかどうかをテストしてから-340px
、残りの方法で自動的にドラッグします。
また、可能であれば、 divrevert
が通過しない場合は( ? を使用して)ドロップダウンしたいと思いますが、それは-340px
実際には大きな問題ではありません。