SYNCER

SYNCER

<amp-selector> - フォームの選択肢を表示する

1件

公開日:

AMPのamp-selectorは、フォームの選択肢を表示するための要素です。2017年2月現在、公式ドキュメントではStable(安定)と案内されていますが、使用してみるとExperimental(実験段階)で利用できないようです。

概要

名前
amp-selector
可用性
Stable (安定)
サポートするレイアウト
fill,fixed,fixed-height,flex-item,nodisplay,responsive,container
必要なスクリプト
<script async custom-element="amp-selector" src="https://cdn.ampproject.org/v0/amp-selector-0.1.js"></script>
検証
https://github.com/ampproject/amphtml/blob/master/extensions/amp-selector/0.1/validator-amp-selector.protoascii
ドキュメント
https://www.ampproject.org/docs/reference/extended/amp-selector.html

属性

disabled

HTMLと同じ。使用不可能にする。amp-selector要素、または選択肢となる子要素に付けられる。論理属性。

form

HTMLと同じ。指定したid属性を持つform要素に関連付ける。

multiple

HTMLと同じ。複数の選択肢を選べるようになる。論理属性。

name

HTMLと同じ。パラメータ名。

option

HTMLのoption要素のvalue属性と同じ役割。パラメータの値を指定する。選択肢となる子要素に付けられる。論理属性。

selected

HTMLと同じ。選択状態にする。選択肢となる子要素に付けられる。論理属性。

共通属性

AMPの全てのタグで利用できる共通属性を指定できます。

説明

amp-selectorを利用するには、専用のライブラリを読み込む必要があります。

HTML

<script async custom-element="amp-selector" src="https://cdn.ampproject.org/v0/amp-selector-0.1.js"></script>

サンプルコード

HTML

<!doctype html>
<html amp>
	<head>
		<meta charset="utf-8">
		<title>【デモ】<amp-selector> - フォームの選択肢を表示する</title>
		<link rel="canonical" href="https://syncer.jp/Web/AMP/Component/amp-selector/">
		<meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1">
		<style amp-custom>
			body {
				padding: 12px ;
				background-color: #fff ;
			}
		</style>
		<script type="application/ld+json">
			{
				"@context": "http://schema.org",
				"@type": "NewsArticle",
				"headline": "記事のタイトル",
				"image": [
					"eyecatch.jpg"
				],
				"datePublished": "2017-08-23T00:00:00+0900"
			}
		</script>
		<script async custom-element="amp-selector" src="https://cdn.ampproject.org/v0/amp-selector-0.1.js"></script>
		<style amp-boilerplate>body{-webkit-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-moz-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-ms-animation:-amp-start 8s steps(1,end) 0s 1 normal both;animation:-amp-start 8s steps(1,end) 0s 1 normal both}@-webkit-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-moz-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-ms-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-o-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}</style><noscript><style amp-boilerplate>body{-webkit-animation:none;-moz-animation:none;-ms-animation:none;animation:none}</style></noscript>
		<script async src="https://cdn.ampproject.org/v0.js"></script>
	</head>
	<body>

<form action="/" method="get" target="_blank" id="form1">
  <amp-selector layout="container" name="single_image_select">
    <ul>
      <li><amp-img src="/image/photo/1.jpg" width=50 height=50 option="1"></amp-img></li>
      <li><amp-img src="/image/photo/2.jpg" width=50 height=50 option="2"></amp-img></li>
      <li option="na" selected>None of the Above</li>
    </ul>
  </amp-selector>
  <amp-selector layout="container" name="multi_image_select" multiple>
    <amp-img src="/image/photo/1.jpg" width=50 height=50 option="1"></amp-img>
    <amp-img src="/image/photo/2.jpg" width=50 height=50 option="2"></amp-img>
    <amp-img src="/image/photo/3.jpg" width=50 height=50 option="3"></amp-img>
  </amp-selector>
  <amp-selector layout="container" name="multi_image_select_1" multiple>
    <amp-carousel id="carousel-1" width=200 height=60 controls>
      <amp-img src="/image/photo/1.jpg" width=80 height=60 option="a"></amp-img>
      <amp-img src="/image/photo/2.jpg" width=80 height=60 option="b" selected></amp-img>
      <amp-img src="/image/photo/3.jpg" width=80 height=60 option="c"></amp-img>
      <amp-img src="/img4.png" width=80 height=60 option="d" disabled></amp-img>
    </amp-carousel>
  </amp-selector>
</form>
<amp-selector layout="container" name="multi_image_select_2" multiple form="form1">
  <amp-carousel id="carousel-1" width=400 height=300 type=slides controls>
    <amp-img src="/image/photo/1.jpg" width=80 height=60 option="a"></amp-img>
    <amp-img src="/image/photo/2.jpg" width=80 height=60 option="b" selected></amp-img>
    <amp-img src="/image/photo/3.jpg" width=80 height=60 option="c"></amp-img>
    <amp-img src="/img4.png" width=80 height=60 option="d"></amp-img>
  </amp-carousel>
</amp-selector>

	</body>
</html>

デモを開く

デモ

</head><body>までを含めて下さい。

</body> </html>

<style amp-custom>

</style>