この記事の例では、jqueryをベースにしたアコーディオン画像表示エフェクトの実装方法を説明します。皆さんの参考に共有してください。具体的な実装方法は以下の通りです。 コード実行時の効果は次のとおりです: index.html ページのコードは次のとおりです: コードをコピー コードは次のとおりです: <頭> jquery に基づいた一項のハンド风琴画像表示効果デモ <br> ディビジョン<br> {<br> -moz-box-sizing: border-box;<br> ボックスのサイズ設定: ボーダーボックス;<br> }<br> <br> html、本文、.page-container<br> {<br> 高さ: 100%;<br> オーバーフロー: 非表示;<br> }<br> <br> .page-container<br> {<br> -webkit-transition: パディング 0.2 秒イーズイン;<br> トランジション: パディング 0.2 秒イーズイン;<br> パディング: 80px;<br> }<br> .page-container.opened<br> {<br> パディング: 0;<br> }<br> .page-container.opened .flex-container .country:not(.active)<br> {<br> 不透明度: 0;<br> -webkit-flex: 0;<br> -ms-flex: 0;<br> フレックス: 0;<br> }<br> .page-container.opened .flex-container .country:not(.active) div<br> {<br> 不透明度: 0;<br> }<br> .page-container.opened .flex-container .active:after<br> {<br> -webkit-filter: グレースケール(0%) !重要;<br> フィルター: グレースケール(0%) !重要;<br> }<br> <br> .flex-container<br> {<br> 表示: -webkit-flex;<br> 表示: -ms-flexbox;<br> 表示: フレックス;<br> 高さ: 100%;<br> }<br> @media all と (最大幅: 900px)<br> {<br> .flex-container<br> {<br> -webkit-flex-direction: 列;<br> -ms-flex-direction: 列;<br> フレックス方向: 列;<br> }<br> }<br> <br> .国<br> {<br> 位置: 相対;<br> -webkit-flex-grow: 1;<br> -ms-flex-positive: 1;<br> flex-grow: 1;<br> -webkit-flex: 1;<br> -ms-flex: 1;<br> フレックス: 1;<br> -webkit-transition: 0.5 秒のイーズインアウト;<br> トランジション: 0.5 秒イーズインアウト;<br> カーソル: ポインタ;<br> font-family: "Bree Serif" 、セリフ;<br> text-align: 中央;<br> 色: #fff;<br> フォントサイズ: 22px;<br> text-shadow: 0 0 3px #000;<br> }<br> .country div<br> {<br> 位置: 絶対;<br> 幅: 100%;<br> z インデックス: 10;<br> トップ: 50%;<br> text-align: 中央;<br> -webkit-transition: 0.1 秒;<br> 遷移: 0.1 秒;<br> -webkit-transform:translateY(-50%);<br> -ms-transform:translateY(-50%);<br> 変換:translateY(-50%);<br> -webkit-filter: なし;<br> フィルター: なし;<br> }<br> .country:after<br> {<br> 内容: " ";<br> 位置: 絶対;<br> 上: 0;<br> 左: 0;<br> 右: 0;<br> 下: 0;<br> 背景サイズ: カバー;<br> -webkit-transition: 0.5 秒のイーズインアウト;<br> トランジション: 0.5 秒イーズインアウト;<br> -webkit-filter: グレースケール(100%);<br> フィルター: グレースケール(100%);<br> }<br> .country:ホバー<br> {<br> -webkit-flex-grow: 6;<br> -ms-flex-positive: 6;<br> flex-grow: 6;<br> }<br> .country:hover:after<br> {<br> -webkit-filter: グレースケール(0%);<br> フィルター: グレースケール(0%);<br> }<br> @media all と (最大幅: 900px)<br> {<br> .国<br> {<br> 高さ: 自動;<br> }<br> }<br> <br> .netherlands:after<br> {<br> background-image: url("Netherlands.png");<br> background-position: center;<br> }<br> <br> .belgium:after<br> {<br> background-image: url("belgium-307_3.jpg");<br> background-position: center;<br> }<br> <br> .france:after<br> {<br> background-image: url("30.jpg");<br> background-position: center;<br> }<br> <br> .germany:after<br> {<br> background-image: url("vacation.jpg");<br> background-position: center;<br> }<br> <br> .england:after<br> {<br> background-image: url("england.jpg");<br> background-position: center;<br> }<br> Netherlands Belgium France Germany England <スクリプト> $('.country').click(function () { $(this).toggleClass('active'); $('.page-container').toggleClass('opened'); }); //@ sourceURL=pen.js