Hatena::Groupnadesiko

雪乃☆雫のなでしこ日和

2017/10/29 (日)

v0.1.7で描画開始が・・・?

| 22:17 | v0.1.7で描画開始が・・・? - 雪乃☆雫のなでしこ日和 を含むブックマーク はてなブックマーク - v0.1.7で描画開始が・・・? - 雪乃☆雫のなでしこ日和 v0.1.7で描画開始が・・・? - 雪乃☆雫のなでしこ日和 のブックマークコメント

 なでしこ3がバージョンアップして、また色々の不具合が修正されたようです(^▽^)

 がっ・・・!

 それに伴って、いきなりフェードインとスライドショーが動かなくなっちゃいましたΣ(゜д゜;

 いやー、0.1.7で動かなくなるのはまあ分かるとしても、読んでるスクリプトは0.1.6のままなのにねー。

 メモ帳にコピペして保存して文字列比較をすると0と出るところを見ると、どうやら0.1.7で上書きされてしまってるっぽいね;


 それはさておき、おかしくなったのか仕様変更になったのか定かじゃないけど、問題は「描画開始」でした。

 いままでは、『「canvas#cv_1」のDOM要素取得。』と、DOM要素を一取得したら、の後は『「cv_1」へ描画開始。』とIDで描画先を指定できたんだけど、どうやらコレがうまくいってない

 DOM要素取得した直後に「それへ描画開始」は問題ないようで、とりあえずそれで動くようにしといたけど・・・

 でもそれだと、描画開始のたびにセットで毎DOM要素取得しなきゃないんだよね~。

 うううん、何か他に正しい書き方があるんだろうか・・・

 canvasの使い方はマニュアルに説明が無くて、ワタシがテキトーに色々やってできるようになったヤツだからねえ;;;


 ・・・と思ってたんだけど、どうやらやっぱりバグじゃないかな?

 見たら、マニュアルの「描画開始」の利用例が追加されてたんだけども、エラーになりますよぉ・・・

https://nadesi.com/doc3/index.php?plugin_browser%252F%E6%8F%8F%E7%94%BB%E9%96%8B%E5%A7%8B

「nako3_canvas_1」へ描画開始
[0, 0]へ「https://nadesi.com/doc3/skin/nadesi.com/resource/logo_nadesiko_title.gif」の画像描画

 ちなみに、このようにすると動きます。

canvas#nako3_canvas_1」のDOM要素取得。
それへ描画開始
[0, 0]へ「https://nadesi.com/doc3/skin/nadesi.com/resource/logo_nadesiko_title.gif」の画像描画

 奇しくも上でぐずぐずぼやいていたことの、分かりやすい実例になった。

 むむむ・・・

通りすがり通りすがり2017/11/01 23:25例がエラーになってしまうのは悲しいですね。
描画開始に指定できるのは、(仕様では?)以下の3種類です(引数が文字列の場合、1→2の順に試行される)


idがcvでclassがresultのcanvasがある場合・・・

1.CSSで指定するときに使うようなセレクタを文字列で指定。
以下のような形で指定できる(※の条件にも注意)
"canvas"へ描画開始
"canvas.result"へ描画開始
".result"へ描画開始
"#cv"へ描画開始
"canvas#cv"へ描画開始
※複数見つかるような条件の場合、最初に見つかる1つが対象になる。

2.canvasのidを文字列で指定。
"cv"へ描画開始
※idに"#"を付けた場合はセレクタ扱い。

3.文字列ではなくDOM要素そのものを指定。
1度、
CVEは"cv"をDOM要素取得
として変数に持っといて、以降は、
CVEへ描画開始
と指定する。

注意点としては、「セレクタとして解釈するとなんらかの要素が取得できてしまうID」は使えません。例は以下。
idがbodyというcanvasがある場合。
"#body"や"canvas#body"のようにセレクタならOK。
idのつもりで"body"としても先にセレクトとして試行してBODYタグを見つけてしまうのでNG。

雪乃☆雫雪乃☆雫2017/11/02 00:51おおぉ、ありがとうございます!!!
#をつけてセレクタにしたら、あっさりと出来ました☆
それに記事中で書いてた「それへ描画開始」も、これは3に該当するやり方なので、「それ」じゃなく何らかの変数に入れてやれば、何度もDOM要素取得することなんて無かったわけですね~(^▽^;

・・・でもやっぱり、2のID指定が、うまくいかなくなっちゃってる気がしますねえ。
特に競合するタグもないし何よりバージョンアップ以前は問題なかったので・・・

トラックバック - http://nadesiko.g.hatena.ne.jp/snowdrops89/20171029