ボタンをクリックすると、画像が表示され、拡大(拡大)、縮小、消えます。これまで私がこれまで持っていたことは、私が望むものの一部です。ボタンをクリックすると画像が拡大/縮小されますが、私が望む中央ではなく左上隅から画像がズームイン/アウトします。jQueryを使用してセンターから画像を拡大/縮小
第2に、ボタンをクリックするまでイメージを非表示にしたいが、それはどちらも機能しない。最初は表示をnoneに設定してから、クラスを切り替えてボタンクリック時の視認性を変更しようとしました。喜びはありません。
誰でも正しい方向に向けることができますか?私はいくつかの小さなものを逃していますか?
ありがとうございました。
//Function that centers in viewport
jQuery.fn.center = function() {
this.css("position", "absolute");
this.css("top", ($(window).height() - this.height())/2 + $(window).scrollTop() + "px");
this.css("left", ($(window).width() - this.width())/2 + $(window).scrollLeft() + "px");
return this;
}
//Center
$("img").center()
//Zoom in/out
$("button").on("click", function() {
$("img").addClass("visible").center().animate({height: "300px"}, 600).delay(100).animate({height: "100px"},600).removeClass("visible");
});
img {
height: 100px;
\t /* display:none; */
}
.visible{
display: inline
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button type="button">Click Me!</button>
<img src='http://placeholder.pics/svg/300'>
問題は何でしたか、どのように解決しましたか? – showdev
ありがとうございます。これは私にとってはうまくいくようです。しかし、少しの説明があるのはいいですね! 'animationend'を聞いたことはありません – blackandorangecat
@showdevよくある問題がいくつかありました。他のデフォルトがない場合、 ".removeClass( 'visible')で要素の可視性を変更することはできません。また、javascriptでこれらの種類のアニメーションを実行すると、技術的には可能ですが、読みにくいコードを混乱させます。彼は、画像を中心から拡大するために「変形:スケール(2,2)」を使用する必要がありました。 –