2016-11-22 7 views
1

余分なボタンを追加せずに図形要素を折りたたみ可能にするにはどうすればよいですか?Jquery:Figure要素を折りたたみ可能にするにはどうすればよいですか?

<figure><img src="abc.png"></figure>

デフォルトでは、私は、この時点で画像を開くためのボタンを配置したいと思います。このボタンは自動的に生成できますか?

+0

と同様に[これを](画像を切り替えるには、このシンプルなコードスニペットhttps://jsfiddle.net/ht6soL80/)?あなたは「余分なボタンを追加することなく」と言ったが、「イメージを開くためのボタンを置いておきたい」と言うと、あなたは何をしたいのですか? – empiric

答えて

1

jQueryが含まれていることを前提にして、slideToggle()関数を使用できます(HIGHLY RECOMMEND)。

は、その後、あなたは簡単に行うことができます。

$("#myButton").click(function() { 
    $("figure").slideToggle("slow"); 
}); 

はもちろん、ボタンを追加する必要があります。 jqueryで(自動的に)追加することも、HTMLを編集してそこから取得することもできます。

は、ここでHTMLの道

<button id="myButton">Click Me</button> 
ここ

(未テスト)jQueryの方法であるあなたに最高の幸運

$('figure').append("<button id='myButton'>Click Me</button>"); 

! (再び、これは、すべての未テストされる)

は、そういえば、一度切り替えた後、あなたのボタンが消えますので、あなたはおそらく、代わりにappend()after()をしたいです。 使用jQueryのslideToggleこの

$('figure').after("<button id='myButton'>Click Me</button>"); 

リンク:http://api.jquery.com/slidetoggle/

+1

'toggleClass'もあります。これは、' hidden'などのクラスをブートストラップやカスタムCSSから切り替えるために使用できます。 –

+0

これは、 'slideToggle()'が提供するアニメーション効果を持たなくても動作します。しかし、CSSアニメーションも使用して、任意の効果を得ることができます。または、jQueryアニメーションも使用できます。 @GetOffMyLawn – Radmation

+1

jQueryのトランジションよりもスムーズに動作するCSSトランジションを使用していれば、あなたがしていることに重要な場合にはイージング効果が大幅に失われます。 –

1

チェックアウトの図形要素自体を使用して

$('#accordian_img').click(function() { 
 
    $('.img-toggle').toggleClass("show"); // toggle show class to image element 
 
});
/* Image style to show and hide */ 
 
.img-toggle.show { 
 
    display:block; 
 
} 
 
.img-toggle { 
 
    display:none; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<figure id="accordian_img" style="width:400px;cursor:pointer"> 
 
    Click To Toggle Image 
 
    <img class="img-toggle" src="http://placehold.it/400x150"> 
 
</figure>

関連する問題