johmonjin のすべての投稿

Animateのあれこれ

動きを求める

HTML文書は文字の他、画像や音楽を伝えることができます。石、竹、木簡、紙に思いを記録した時代を考えると隔世の感がします。インターネット時代にはHTMLの規約に則って多くの人に格安で迅速に意思を伝達することができるようになりました。

その中で動きのある文書にするにはJavaScriptによる表現が適しています。JavaScriptを使った動的表現を以下に示します。


花火打ち上げ©TacM,2018 Ver0.02







 

JavaScriptはHTMLから独立して語られるほど大きなテーマです。一方、CSSの中にAnimateプロパティがあり、コンパクトな定義ながら動きのある表現を可能にしています。

Animateはモダンブラウザならば、おおかた、動作するようですがIE11でつまずき解決に至ったので記録に残します。

IE11で動作させたい

transformとrotateを用いてdiv要素を回転させるに当たり、keyframesとanimateを駆使したところ、chrome, firefox, opera, edgeでは期待した動作になりましたが、IE11ではどうしても正常動作にはできませんでしたが、ネット上のアドバイスにより解決しましたので記録に残します。

動作コード

以下のサンプルコードにおいて、CSSは別ファイルにせず、style要素で定義し一つのファイルに納めました。

<html>
<style>
.box{
  width: 260px;
  height: 260px;
  background: lightcyan;
  animation: kf 30s ease 0s 1 alternate none;
}
@keyframes kf{
0%{transform: scale(.3);}
50%{transform: scale(.6) rotate(-45deg); background: red;}
100%{transform: scale(1) rotate(180deg); background: blue;}
}
</style>
桃の花言葉:天下無敵、気立ての良さ
<div class="box">
<img src="https://aidesign.lolipop.jp/wp-content/uploads/2018/03/peach568A.png" width="260" height="260"/>
</div>
</html>

変更箇所

7行目、animation: kf 30s ease 0s 1 alternate none running; ⇒

    animation: kf 30s ease 0s 1 alternate none;

上記のようにnoneの後のrunningを削除しました。インターネットを検索したら、ありがたい情報が見つかり採用したところ期待した動作になりました。

動作例

桃の花言葉:天下無敵、気立ての良さ

ひとこと

動作コードに示すように、JavaScriptコードを一行も使わないで動きのある文面を作ることができましたがまだ、納得のいかないところがあります。動きのある文書作りの一環として、animateを見直しもっと深く理解したいと考えています。

 

作者と作品にお別れ

文学作品の読み方

文学作品の読み方は人それぞれです。何かテーマを決め、その周辺をひとりの作家に関わらず横断的に読みほぐす方法があります。

一方、特定の作家を決めその作家の作品を縦断的に読む方法があります。当方は後者に属します。

この場合は多くの作品を発表している作家に偏りがちですが、長い期間にわたり楽しむことができます。

このたびの作家の作品はテレビドラマにもなり放映されたようですが、気が付きませんでした。その頃は藤沢周平、平岩弓枝、池波正太郎の作品に気を取られていたのでしょう。

作品の終結

ここ2~3か月、江戸時代の武家・町人の暮らしを描いたシリーズもの、北海道出身の女性作家の作品を追いかけました。

見習いの職人からスタートし、身分違いではないがきっぷのいい美人芸者との異質な組み合わせの思いがけない恋愛を成就させ、地道な生活を営む通い髪結い職人・同心の小者とその周辺を取り巻く人々の生き方がテーマになっています。

職人・芸者夫婦に息子が生まれ、主家の武家娘との交流が読者を惹きつけます。


別式女(べっしきめ:江戸時代、
貴人女性を警護する女武芸者)

二人の幼児期、幼少期、少年期を経て山あり谷あり修行の身の青年期を乗り越え、最大難関の身分違いの恋をクリアしてハッピーエンドを期待しながら読みました。

二人が人生の荒波に揉まれながらも登山ならば9合目まで到達していました。読者も否、私は次の進展を期待しましたが、作家が乳がんでお亡くなりになりました。作家本人が一番の心残りだったことでしょう。

さいごに
総合南東北病院の
ホームページより

作家のプロフィールや作品のあらすじを調べてから読書に入ればこのような不完全燃焼を体験することはないでしょう。それは楽しみを半減させます。

修行中の別式女と絵師のほのかな恋情も読み手の心の中で暖められ大切にされることでしょう。

作品の完結の前に作品の終結を迎えてしまいました。充実した3か月をありがとう。

カスタマイズの薦め

カスタマイズとはイージーオーダーのような中途(半)完成品をユーザーの好みに設定を変更することです。洋服や家具などは自由に改良を加えることが可能ですが、車や精密機器は改変は許されていません。

安全基準を守ることを義務付けられているものへのカスタマイズは難しいです。HTMLとJavascriptのサンプルコードを自分の好みに改訂することについてまとめます。

プログラミングの歴史

毎度、古い話で恐縮ですが知っていると何かの役に立つことがあります。プログラムコードを安易に変更して実行させるとコンピュータがクラッシュを起こす時代がありました。コンピュータシステムの総額が数億円する大型コンピュータで体験したことがあります。

今では未完成ソフトを実行しても、異常状態で停止するのは該当ソフトだけであり、他に影響を及ぼすことはほとんどなくなっています。ほとんど無いというのが実情ですが致命的なダメージを与えることは皆無と思われます。

改造の薦め

当ブログは古い内容が多く明るさに欠けていると思われていることでしょう。それは様々な理由があり、著作権の保護期間が保有者がなくなってから50年後までと定められていることが一因しています。

音楽を鳴らすにも人気のある楽曲には著作権が付いています。著作権問題をクリアするために古典や明治時代の唱歌などを取り上げています。

家族やサークル内だけで楽しむ場合は著作権を気にする必要がない場合もあります。そのような条件下ならば、軽快な音楽に変更してください。著作権の保護期間中なのにダウンロードできるものが多いです。

ダウンロードしても営利活動をしたり個人利用の範囲を超えて利用しなければ心配することはありません。どんどん、自分流を貫いて改訂してください。それでも自己責任で行うことは忘れないでください。

あまりに、いいものができたので公開したいという前に著作権のことを考えてください。ずいぶん前ですがYoutube上に公開した動画に一瞬、テレビが映って、その番組の著作権に抵触している旨の警告がありました。当初はビクッとしましたがロボットが行うチェック機能に引っかかってしまったようです。

著作権教育

背景に人気タレントが移った画像なども芸能事務所から苦情が届くかも知れません。

ディズニーや日本の人気芸能プロダクションの商品は厳格な著作権管理がされていると聞きます。

学校の教育課程上の運動会などで漫画の複製などは著作権者に無断で利用することができるようです。

このことが許諾を受けることなく無断使用できると生徒に錯覚を植え付けていないでしょうか。当ブログもすべて許諾を得ているわけでないので要自戒です。

実例と必要な周辺知識

遠く離れた家族や同好の友人に自分の作品を贈る例を以下に示します。例そのものは著作権保護期間が終了したものにしてあります。

このようにひな型になるものを入手して、少しずつ改訂してみてください。

BGMを気に入った曲にするには許されているときはリンクを貼る(張る)のが簡便なやり方です。それにはリンクの貼り方をマスターしなければなりません。

リンクの貼り方はネット上に回答がありますので検索してください。曲のダウンロードが可能ならば自分の環境に格納して参照します。彩りのあるサイトを始めるにはこれらの周辺知識をマスターしてください。カビが生えた、古臭いとの愚痴は自分で解消しましょう。

 松尾芭蕉の俳句


はる

 さくらけて

  しまひけり


あけぼの

 まだむらさき

  ほととぎす

©TacM,2018 Ver0.01

 

顔文字から絵文字へ

絵文字の薦め

🚑

今回は今までのHTMLとJavascriptの系譜から離れ、日本から発祥し世界的な広がりを見せている絵文字さらにemojiをフィーチャーします。右の絵は絵文字(ユニコード:0x1f691)です。

今や顔文字は市民権を確立したのだろうか。かつて報告書の氏名欄に、自分の名前の後にハートマークやビックリマークを付ける癖を持った女性がおりました。役所や事務所では違和感があります。

顔文字はインターネットが普及し、感情表現に使われ始めたと記憶しています。インターネットの普及は、洋の東西を問わず研究機関から始まりました。

よって硬派な雰囲気が漂っていて顔文字の類も怒ったり笑ったりが中心で、複雑な表情を含んだものは皆無でした。顔文字はキャラクタ文字を組み合わせたものから始まり、5~10文字程度が多かったようです。

笑い、泣き、驚き、混乱、苦笑などを表す次のような顔文字がありました。(^_^)、(^○^)、(^-^)、Σ(°Д°;)、(;_;) 、(T_T)、(@_@) 、(^_^;などです。そのうち、少数ながら顔などを象った顔文字が普及しました。それが発展して今や13万文字を超すemojiがUnicodeに定義される時代になりました。絵文字からemojiに時代は進みました。

顔文字から絵文字へ

嬉しい、悲しい、さみしい、照れる、しょぼん、怒る、泣くなど様々な顔文字が策定された今、複数の半角文字を組み合わせて表す絵文字は時代遅れと言えます。

(^○^) → 😄



顔文字から絵文字へと変更したとしてもユニコードは1~6バイトと多岐にわたるので、情報の節約になるとは限りませんがデバイスごとに絵文字が定義・規格化され文字形式で絵文字を表示することができます。その上、絵をカラーで表示するブラウザが多くなっています。

 

絵文字のカラー化

スマホのサポート状況は詳細はわかりませんがパソコン用バラウザでは、インターネットエクスプローラーを除きほとんどのブラウザでemojiはカラー表示されます。カラー表示をサポートしているブラウザではp、span、div要素のstyle属性やCSSによるcolor指定で絵文字に色を付けるのはできませんが、鮮やかなカラー表示は大きな魅力です。

動作例

歌の状況を絵文字で表示します。遅延動作ボタンをクリックしてください。


スーダラ節 ©TacM,2018 Ver0.01


 ユニコード:

歌の状況を絵文字で表示



 

HTMLとJavaScript第4弾

おさらいと大いなる飛躍

前回は詩や和歌を表示するのにふさわしい縦書をサポートしました。ここまでは、いずれもスタティックなものばかりでダイナミックなものはありませんでした。

今回から動的な記事作りに挑戦します。動的な記述はanimateタグを使うことによりHTMLだけの範疇でも実現可能ですが本格的な機能をサポートするにはJavascriptタグを使用します。

まず、バックグラウンドミュージックを鳴らして画像やメッセージを切り替えてみます。音楽の終了に同期して描画は終了になります。静から動への進展は大きな飛躍です。

処理を遅らせる

コンピュータにおいて処理を遅らせることが苦手です。機能の小さなパソコンで動作したアプリが高速になった新しいパソコンで誤動作するという話はよく耳にします。こられを本格的に処理するには同期やイベントについて調べなければなりませんが、今回は一定時間後に動作する関数setTimeoutを使って簡便な同期を実現します。

読込み時の処理

HTMLやJavaScriptは高速に対応できるマルチ処理を可能にしています。ビデオの描画では読み込みながら表示していることは進行状況を表示するバーで確認できます。このため、動作時間の短縮が図られますが読込みが表示動作に追い付かれて期待した動作にならないことがあります。

これを解消するために、onLoadというイベント関数を定義します。二つの画像データロード完了で切り替え動作が起動するようにしています。

音声の再生と画像やメッセージの切り替え

audio要素をJavaScriptから操作するためのさまざまなメソッドが用意されており、今回は再生メソッド(play)を使います。画像においてはcanvas要素のdrawImageメソッドを使って切り替えます。メッセージの切り替えはinnerHTMLメソッドを使ってdiv要素の指定データを切り替えます。

動作例


 小林一茶の俳句 二首 ©TacM,2018 Ver0.01



春雨はるさめ
 大欠伸おおあくびする
  美人びじんかな

美人・佳人・麗人

花言葉大百科


やせがえる
 けるな一茶いっさ
  これにあり




動作コード

<html>
<head>
<link rel="stylesheet" href="https://aidesign.lolipop.jp/wp-content/uploads/2017/04/h2vR.css" charset="UTF-8">
<script src="https://aidesign.lolipop.jp/wp-content/uploads/2017/04/h2vR.js" charset="UTF-8"></script>
</head>
<body>
<div style="width:490px; height:80px; font-size:32px; font-family:serif; font-weight:bold; color:salmon; border:0px solid orange;">
<p>&nbsp;小林一茶の俳句&nbsp;二首&nbsp;<span style="font-size:12px; color:magenta;">&copy;TacM,2018 Ver0.01</span></p>
</div>
<div style="position:relative; width:490px; height:260px; font-size:32px; border:0px solid maroon; line-height:1.8em;">
 <canvas id="bj0" width="250" height="250"></canvas>
 <Div class="h2vr_7" style="position:absolute; left:250px; top:0px; width:200px; height:240px; color:purple; border:0px solid darkcyan;">
 <ruby>春雨<rt>はるさめ</rt></ruby>に<br /> <ruby>大欠伸<rt>おおあくび</rt></ruby>する<br />  <ruby>美人<rt>びじん</rt></ruby>かな</Div>
</div>
<DIV id="mj0" style="float:left; width:230px; height:30px; border:0px solid tomato; font-size:24px; color:deeppink; padding-top:14px;">美人・佳人・麗人</DIV>
<DIV id="mj1" style="float:left; width:260px; height:30px; border:0px solid darkblue; font-size:24px; color:navy; padding-top:14px;">花言葉大百科</DIV>
<div style="clear:both; position:relative; width:490px; height:250px; font-size:32px; border:0px solid tomato; line-height:1.8em;">
 <Div class="h2vr_7" style="position:absolute; left:-10px; top:20px; width:200px; height:234px; color:green; border:0px solid orange;">
やせ<ruby>蛙<rt>がえる</rt></ruby><br /> <ruby>負<rt>ま</rt></ruby>けるな<ruby>一茶<rt>いっさ</rt></ruby><br />  これにあり</Div>
 <canvas id="bj1" width="256" height="234" style="position:absolute; left:200px; top:20px; width:256px; height:234px; border:0px solid tomato;"></canvas>
</div>
<audio id="bgm" src="https://aidesign.lolipop.jp/wp-content/uploads/2014/09/yorunowaltz.mp3" controls controlsList="nodownload"></audio>
<script type="text/javascript" charset="Shift_JIS">
const lady=["\u24ff小野小町", "\u2776見返り美人", "\u2777額田王", "\u2778カジュアルガール", "\u2779万葉美人", "\u277a浴衣とうちわ", "\u277b花火と夕涼み", "\u277c三月の鮠佳人葉津",
			"\u24ff誠実", "\u2776慈愛", "\u2777信頼", "\u2778つつましい幸せ", "\u2779田園の喜び", "\u277a温順", "\u277b思慮深い", "\u277c希望"];
// --------------- 美人 花ことば
const LR_width  = [300, 256, 300, 234];						//図形幅、図形高さ
const DS_width  = [250, 256, 250, 234];						//図形dest幅、図形dest高さ
const bjn = ["bj0", "bj1", "mj0", "mj1"];					//美人画像ID & 花ことばID
const gazo = ["https://aidesign.lolipop.jp/wp-content/uploads/2016/11/Bijinga.png",  "https://aidesign.lolipop.jp/wp-content/uploads/2018/03/Flower8.png"];
var Img = new Array();										//イメージオブジェクト
var time2 = count = 0;
	document.getElementById('bgm').play();					//夜のワルツをオルゴールで演奏
for (var i = j = 0; i < gazo.length; i++) {
	Img[i] = new Image();
	Img[i].onload = function() {
		if(++j==gazo.length) setTimeout('change()', 2000);	//二つの画像データロード完了で切り替え起動
	}
	Img[i].src = gazo[i];									//画像データをロード
};

function change(){											//画像切り替え
var k = (count >> 1) % 8;									//BGMの長さ(56秒)を8等分する、7秒間隔。
var n = count++ % 2;
var canvas = document.getElementById(bjn[n]);				//canvas取得
var ctx = canvas.getContext('2d');							//context
	document.getElementById(bjn[n+2]).innerHTML = lady[n*8+k];//メッセージ
	ctx.drawImage(Img[n],  k*LR_width[n],0,  LR_width[n],LR_width[n+2],  0,0,  DS_width[n],DS_width[n+2]);	// 切り替え画像
	if(count < 16)	time2 = setTimeout('change()', 3500);	//(56秒)を8等分し、さらに半分にする。16回*3.5秒
	else			console.log("Fine!");
}
</script>
</body>
</html>

HTMLとJavaScript第3弾

おさらいと今回の目標

前回は文字に色、サイズ、書体などの装飾を加えたり、俳句に彩りを添えるイラスト画像を追加しました。今回は俳句や和歌に相応しい縦書きに挑戦します。 今では縦書きをサポートする市民権を得た何種類かのライブラリが存在します。その中からh2vR.jsを採用し、小林一茶の俳句二首を縦書き表示します。

タグと改行

タグ(要素)について深堀りします。前回、p、div、spanタグを使いました。それらのタグは始まりのタグ(<div>など)とスラッシュのついた終わりタグ(</div>)から成っています。 ブロックを形成し有効範囲を明示します。

このようにタグのほとんどは始まりと終わりの対になりますが、改行タグ(<br />)やimgタグのように終わりが ないものもあります。linkタグも同類ですが単独タイプは極少です。よく使われるタグを理解することがHTMLマスターの早道です。

ライブラリの入手と参照法

h2vR.jsの公式サイトから縦書をサポートするライブラリをダウンロードし「ライセンス情報」を確認します。非営利ならばソフトウェアを無制限に扱うこと が可能なようです。h2vR.jsおよびh2vR.cssを参照できるようにします。 具体的にはHTMLコードの3~4行に示します。

サンプルコードの説明

  1. 1行、オーソドックスにhtmlタグを指定。
  2. 6~8行、いままで通りの横書き領域を定義。
  3. 9~15行、一首目の俳句を表示。左に図、右に振り仮名付き俳句を指定。
  4. 10行、float:leftで横並びを指定。
  5. 11行、float:leftで隙間なく俳句を横並びにする。
  6. 16行、clear:bothで横並びをリセット。
  7. 17行、第二首目の俳句を表示。左に振り仮名付き俳句、右に図を指定。
  8. 21行、float:leftで隙間なく画像を横並びにする。
  9. 23行、htmlコードの終わりを示す。

注意事項

     

  1. 機能を拡張する際、直前のファイルを残しておいて、改訂時に誤動作した場合、両者の差分を確認できるようにする。
  2. 公開サーバー上にアップロードする際は、h2vR.jsおよびh2vR.cssを参照するコードは不要で自動的に言語処理系が取り込む。
  3. 動作例においては2~5行を削除している。
  4. タグと改行における図に示したように、CSSファイルは別ファイルにしてスタイルシートの共通利用を目指しますが、div, p, span要素の中のstyle属性で代用することができる。

動作例

  小林一茶の俳句 二首  ©TacM,2018 Ver0.01


春雨はるさめ
 大欠伸おおあくびする
  美人びじんかな

やせがえる
 けるな一茶いっさ
  これにあり

HTMLサンプルコード

<html>
<head>
<link rel="stylesheet" href="https://aidesign.lolipop.jp/wp-content/uploads/2017/04/h2vR.css" charset="UTF-8">
<script src="https://aidesign.lolipop.jp/wp-content/uploads/2017/04/h2vR.js" charset="UTF-8"></script>
</head>
<div style="width:480px; height:80px; font-size:32px; font-family:serif; font-weight:bold; color:blue; border:0px solid orange;">
<p>&nbsp;&nbsp;小林一茶の俳句&nbsp;二首&nbsp;&nbsp;<span style="font-size:12px; color:magenta;">&copy;TacM,2018 Ver0.01</span></p>
</div>
<div style="width:480px; height:280px; font-size:32px; border:0px solid maroon;">
 <div style="float:left; margin-left:0px;"><img src="https://aidesign.lolipop.jp/wp-content/uploads/2018/12/akubi.png" width="250px" height="250px"/></div>
 <Div class="h2vr_7" style="float:left; width:200px; height:240px; color:purple; border:0px solid gold; line-height:1.8em;">
 <ruby>春雨<rt>はるさめ</rt></ruby>に<br />
 <ruby>大欠伸<rt>おおあくび</rt></ruby>する<br />
  <ruby>美人<rt>びじん</rt></ruby>かな</Div>
</div>
<div style="clear:both; width:480px; height:250px; font-size:32px; border:0px solid tomato;">
 <Div class="h2vr_7" style="float:left; width:210px; height:240px; color:green; border:0px solid orange; line-height:1.8em;">
やせ<ruby>蛙<rt>がえる</rt></ruby><br />
 <ruby>負<rt>ま</rt></ruby>けるな<ruby>一茶<rt>いっさ</rt></ruby><br />
  これにあり</Div>
 <div style="float:left;"><img src="https://aidesign.lolipop.jp/wp-content/uploads/2017/04/frog3.png?2018-02-28" width="264px" height="250px"/></div>
</div>
</html>

次回予告

次回には動きのある記事にするためにscriptタグを使って更なる高級化を目指します。

HTMLとJavaScript第2弾

おさらい

前回はHTMLについて何も知らないとこらからスタートして動作させる例をあげました。表示したい文言をテキストファイルにし、拡張子をhtmlにしてファイルに保存するだけでした。今回はこれらを拡張して高級化を図ります。

拡張子(かくちょうし)

その前に拡張子について考えます。拡張子とは、ファイルの種類を識別するために使われるファイルの末尾にある「.(ピリオド) + 英数字3文字」のことです。今では英数字3文字に限定されることはありません。例えば、テキストファイルだと「.txt」、HTMLファイルだと「.html」が拡張子です。

ファイルの扱いに慣れてくると拡張子を気にすることがなくなりますが、拡張子を明示的に表示する方法を示します。

ファイル名がABCD.TXTの場合、Windows10ではABCDと表示され、ABCD.DOCなどと区別しにくいことがあります。

拡張子をも含めて表示させるには『Windows10 – ファイルの拡張子を表示/非表示にする』 などを参照ください。

拡張子はアプリケーションに関連を明示するものです。数を数える際の数詞のような役割を持ち、相応しいアプリケーションの起動を手助けします。

機能の追加

前回に追加する機能を示します。

①文字に色、サイズ、書体などの装飾をする。
②俳句に合ったイラスト画像を加える。
③領域に枠線を付ける。
④読みにくい漢字に振り仮名をふる。
⑤バージョン情報を付ける。

領域に枠線を付ける部分は枠線なしになっています。コピペするときに、border:0pxをborder:1pxに2ヶ所、変更します。

俳句を表示する

小林一茶の俳句 二首

やせ蛙

 負けるな一茶

  これにあり

春雨に

 大欠伸おおあくびする

  美人かな

©TacM,2018 Ver0.01

HTMLコード

<div style="width:240px; height:70px; font-size:22px; font-family:serif; font-weight:bold; color:blue; border:0px solid orange;">
<p>小林一茶の俳句 二首</p>
</div>
<div style="float:left; width:240px; height:490px; font-size:32px; border:0px solid maroon; line-height:1.0em;">
<p style="color:green;">
やせ蛙<br /><br />
 負けるな一茶<br /><br />
  これにあり</p>
<br /><p style="color:purple;">
春雨に<br /><br />
 <ruby>大欠伸<rt>おおあくび</rt></ruby>する<br /><br />
  美人かな</p>
<p><span style="font-size:12px; color:navy; font-weight:bold;">&copy;TacM,2018 Ver0.01</span></p>
</div>
<div><img src="https://aidesign.lolipop.jp/wp-content/uploads/2017/04/frog3-300x284.png" width="264" height="250"/></div>
<div><img src="https://aidesign.lolipop.jp/wp-content/uploads/2018/12/akubi.png" width="250" height="250"/></div>

あとがき

今回は16行のHtmlコードですが、満足のいく仕上がりになるまで結構な時間がかかりました。慣れれば短時間で作成できるようになります。完成品を少しずつ手直しして所望するものに仕上げる際の速成方法に応用してください。

HTMLとJavaScriptの始め

はじめに

HTMLやJavaScriptで文字や画像をローカル環境(公開サーバー上でない自分だけの動作環境)で表示・描画するには、拡張子がhtmlのテキストファイルを作成します。

小林一茶の俳句を画面に表示させるには以下のようなファイルを作ります。ファイル名はyasegaeru.htmlなどとします。

《yasegaeru.html》HTML言語
やせ蛙 負けるな一茶 ここにあり

同じようなことをC言語での記述は以下のようでありました。

《yasegaeru.C》C言語
#include <stdio.h>
int main(int argc, char *args[])
{
    printf("やせ蛙 負けるな一茶 ここにあり\n");
    return 0;
}

 

2つを比較するとCに較べHTMLでは前提条件は何もなく、表示内容を記述するだけです。強いてあげればhtmlというファイル拡張子だけです。

yasegaeru.htmlを作成しエクスプローラーなどでJavaScriptコードを実行し、やせ蛙 負けるな一茶 ここにありが表示されたら、あなたは立派なHTML(Javascript)の習得者です。

初めてHTMLやJavaScriptを扱うのならば、実際に動作させて自信を深め自分の血肉にしてください。

少しずつ進化

これらを少しずつ進化させます。本文だけでも構いませんが拡張したり高級化のために本文を<p></p>で囲みます。<や>は本来、半角文字ですが説明のために全角文字を使っています。ブログ記事はHTML言語を用いて記述しており、要素に用いる記号文字に半角文字を使うと表示が乱れるので便宜的に全角文字を用います。

加えて、<div></div>で大きく囲みます。divはdivisionを省略したものであり領域を定義します。

本文は通常サイズで補足説明は小さな文字で表示する場合、有効領域をブロックとして定義します。このような場合にdiv要素を使います。これらの改良コードと実行例を以下に示します。

yasegaeru1.htmlは最初の例と大差ありませんがp要素により段落として定義しています。<や>により囲まれた単語は要素、タグと呼ばれ特別な働きをしますが、ここでは多くを語りません。

改良コードと実行例

《yasegaeru1.html》

<div>
<p>やせ蛙 負けるな一茶 ここにあり</p>
</div>

《yasegaeru2.html》

<div>
<p>小林一茶の俳句 二首</p>
</div>
<div style="font-size:28px">
<p>やせ蛙 負けるな一茶 ここにあり</p>
<p>春雨に 大欠伸(おおあくび)する 美人かな</p>
</div>

※※※※※※※※※※※※※※※※※※※※※※※※※

《yasegaeru1.html》

やせ蛙 負けるな一茶 ここにあり

《yasegaeru2.html》

小林一茶の俳句 二首

やせ蛙 負けるな一茶 ここにあり

春雨に 大欠伸(おおあくび)する 美人かな

今回のまとめ

今回はHTMLにより、実際にプログラムコードを作成し実行させてみました。divとp要素を使った単純な例です。

HTMLには多くの要素(タグ)が用意されており、これらを縦横無尽に使いこなしたときに熟達者と呼ばれることでしょう。次回は定番の例題を味のあるものに変身させてみます。

上述しましたが、既存のものに手を加えて応用し、少しずつ力を付けていきます。車を勝手に改造し公道を走らせることは許されません。これに対し、自由に改造して成長できることはなんと恵まれたことでしょう。

テキストファイル、拡張子とは何ぞやについては端折って語っていません。厳密に詳細に語るのは容易ではありません。100%理解できなくても前に進み、後に振り返るのも一方法です。次回以降で触れる機会があることでしょう。

余禄

古い人間には「やせ蛙 負けるな一茶 ここにあり」と記憶していますが、最近では『やせ蛙 負けるな一茶 これにあり』と記されることが多くなっています。

早春の候

早春の風景

先日、背景画像の上を早春の歌詞がスクロールする記事を作りました。今回は詞を固定しバックの画像をスクロールしています。

早春の候、もうすぐ新しい旅たちに別れもあります。少し切ないですがゴンドラの唄と冬から春への3風景をお贈りします。

ボーとしていても歳は取ります。外見はいずれ衰え老醜(ろうしゅう)をさらすことになります。内面を磨いたら落ち込みをカバーできるでしょうか。

 

マガジンリーダー

隆盛を極める電子書籍

今や形あるものが見えないものに押されっぱなしです。新聞、雑誌は紙媒体から電子媒体に移行しつつあります。電子媒体は経費が掛からず、発行速度が格段に優れています。

信じてもらえないかも知れませんが、はるか昔、当日のプロ野球ナイター結果が報じられるのは翌日の夕刊というありさまでした。

当初は歌手でしたが芸能プロダクション社長として名をはせた山田太郎氏が歌った《新聞少年》の歌詞は何のことか理解できない時代が間もなく到来しそうです。

手紙も電子書籍にすれば、本体を送らずともそれを記憶した管理先のアドレスを知らせればよいのです。

電子書籍を読む

新しいものが普及するには本体が優れたものであることはもちろんですが、周辺環境が整うことが必須です。電子書籍においてはそれを読むツールがイマイチです。先日、雑誌を滑らかにめくるで自動マガジンリーダーについて語りました。滑らかさが不足していたので改良した使用例をまとめました。参照先はturn.jsです。

自動読込みにした場合、めくり動作の表示が地味な感じだったので派手にしました。ライブラリー参照時のオプション設定が可能か調査しましたが発見できなかったので、直接ソースコード(turn.js)を変更しました。turnOptionsにあるduration[Duration of transition in milliseconds]のdurationを600から2400に変更したところ、ゆっくりしためくり動作になりました。

夢のよう拡張理念

まだ作り始めたばかりなので、多くを望むことはできません。ページを順にめくったり戻したりが基本機能です。全体を斜め読みする自動読込み機能が付いています。ダイレクトに指定したページに飛ぶ機能や音声による指定は未実装です。音声入力は一人の書斎ならば問題ありませんが、図書館などでは不都合です。

いまでは、考えていることをロボットなどに伝える技術が実用化されつつあるようです。念力によるページめくりを目標にしていますが、呪詛(じゅそ)などは非科学的なものと考え信じていません。

納得いく機能にまとまったらソースコードなども公開できるようになるかもしれません。

動作例



進化版 ©TacM,2018 Ver0.03