のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,620,394人
昨日:no data人
今日:
最近の注目
人気の最安値情報

私的良スレ書庫

不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitter
ログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。

元スレ+ JavaScript の質問用スレッド vol.113 +

JavaScript スレッド一覧へ / JavaScript とは? / 携帯版 / dat(gz)で取得 / トップメニュー
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
レスフィルター : (試験中)
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
602 : Name_Not - 2014/02/21(金) 20:12:04.40 ID:??? (+1,-30,+0)
>>600
まずこういうのをやるときは1個1個別の画像にしないで0~9までつながった画像にするんさ

<span class="number number-0">0</span>

.number{
  display: inline-block;
  /display: inline;
  /zoom: 1;
  background: url(数字の画像のパス);
}
.number-0{ background-position: 0px 0px; }
.number-1{ background-position: 0px -35px; } /* 数字一個の高さ分ずつずらす */
.number-2{ background-position: 0px -70px; }
        :
こんな風にすれば、<span>要素のclassを書き換えるだけで、<img>と同じように使えるでしょ
そんで、時の10の位のところだけ

<p class="h-10"><span class="number-0">0</span></p><!-- 時の10の位 -->
<p class="h-1"><span class="number-0">0</span></p><!-- 時の1の位 -->
<p class="m-10"><span class="number-0">0</span></p><!-- 分の10の位 -->
<p class="m-1"><span class="number-0">0</span></p><!-- 分の1の位 -->
<p class="s-10"><span class="number-0">0</span></p><!-- 秒の10の位 -->
<p class="s-1"><span class="number-0">0</span></p><!-- 秒の1の位 -->

みたいにして、CSSで

.h-10 .number-0{
  background-position: /* 空白になる座標 */;
}

ってすれば、時の10の位がゼロの時だけ、空白に出来るっしょ
603 : Name_Not - 2014/02/21(金) 22:21:17.88 ID:??? (-17,-29,-17)
>>597
http://jsfiddle.net/dE5fU/4/
DOMContentLoadedで呼ぶ
604 : Name_Not - 2014/02/21(金) 22:24:44.96 ID:??? (+99,+29,-243)
>>585
まあ別にいいけど、それ使う気おきないよ。

ファイルサイズを気にしているみたいだけど、
パフォーマンスに大きく影響するのは数十KB程度の差よりも
ファイルの数=HTTPリクエストの数なんだ。
だからファイルを結合できなければ意味が無い。
結合したら非同期であることの意味は殆ど無くなる。

最終的に一つになるとして、そしたらscriptタグは一つになる。
scriptタグが複数ある方法である時点で結合できないということであり、
パフォーマンス上のメリットはない。

君はファイルが分割される前提で出来る限りのパフォーマンスを目指しているのかもしれないが、
RequireJSは、最終的に結合される前提で、最高のパフォーマンスを目指している。
その上で開発に便利な機能、たとえば複数のバージョンを同居させるだとか
グローバルを汚さないだとか、AMDモジュールでないものを修正なしに
使えるようにするだとかいった機能をサポートしている。
607 : Name_Not - 2014/02/21(金) 22:54:35.44 ID:3EwJVGJN (+11,+29,-6)
>>603さん
すいません、不慣れなもので、専門用語とかが分かりません・・・・。
608 : Name_Not - 2014/02/21(金) 23:01:10.79 ID:??? (-1,-29,-4)
ID:LT0eRMxA はID出さなくなったのかな
609 : Name_Not - 2014/02/21(金) 23:03:34.49 ID:??? (+58,+29,-2)
バカしかいねーな!
610 : Name_Not - 2014/02/21(金) 23:20:04.63 ID:??? (-1,-29,-28)
YouTubeのページのscriptが一行づつ<script></script>と入れられてるんだけど何のメリットがあるの?
611 : Name_Not - 2014/02/21(金) 23:24:56.23 ID:??? (+146,+29,+0)
>>604
なぜかみんな「非同期で」という部分ばかりみるけどこれはあくまでオマケ。
このライブラリのポイントは「世界中のjQueryユーザーがそのままのスキルで3DCGコンテンツを作れるようになる」ということ。

当然そうなれば巨大なマーケットが誕生する。何億円ではなく何兆円規模の。
MITライセンスでの公開だから早い者勝ち。
世界中で普及させるのはモチロンだけど特に日本においてはMMDのデータファイルを直接取り込めることが売りになる。
このMMD対応機能はもう1、2ヶ月かかる予定ですがミクをWeb上で躍らせるだけでなくフィールドを歩かせたり戦わせたりできる未来が来るのです。

カメラワークもプラグインがすでに完成しているので簡単に操作できます。
$.flyView( "rdr" );
これだけでマウスが空間を自由に飛び回るコントローラーに変わる。
FPSやエースコンバットのようなカメラワークすらたったの1行で完結するのです。

今日からプログラミングを始める人でもすぐに本格的なコンテンツを作れるから爆発的にWebGLコンテンツが普及するでしょう。
そうなればスマホのWebGL対応も進み、スマホアプリはJavaやObjective-Cではなくこのライブラリを駆使したHTML5・JavaScriptが主流になります。

jQueryとthree.jsを合体させただけだけど、three.jsだと数十行もかかるコードが1行で実現できます。
そもそもthree.jsでは実装が難しかったことも簡単にこなせます。
勝手な妄想と言われるかも知れませんがWebGL・HTML5が当たり前になる未来が来ると思いませんか?
612 : Name_Not - 2014/02/21(金) 23:32:13.52 ID:??? (+72,+29,-7)
>>611
お前が公開して世に認められるまではここで何を言っても妄想だよ
613 : Name_Not - 2014/02/21(金) 23:35:34.87 ID:??? (-16,-29,-65)
>>605
どこにって、HTMLの好きなところに書けばいいよ
あとはJSで、もともとのコードが<img>要素を書き換えていたように
<span>要素のクラスを書き換えていけばいい
614 : Name_Not - 2014/02/21(金) 23:36:08.84 ID:??? (+59,+29,-9)
>>607
わからない言葉はまずググろう
その手間まで教えてくれる人に負わせる必要はないよ
615 : Name_Not - 2014/02/21(金) 23:41:30.56 ID:??? (+162,+29,-45)
>>611
なぜって、おまえが、「世界で初めて非同期読込を可能にしました」なんて書くからだろ。
公開するときに恥ずかしいことにならないよう、みんな指摘してくれてるんだ。
この辺はRequireJSが有名だけど、非同期読込のためのライブラリっていっぱいあるから
チェックしてみたほうがいい。
616 : Name_Not - 2014/02/21(金) 23:50:54.92 ID:??? (+136,+29,-48)
>>615
それは素直に申し訳ないです。
みなさんありがとうございました。

「本体含めて依存関係のある全てのスクリプトタグにasync属性を指定できる初めてのライブラリ」ということを言いたかったのです。
情報の伝え方が不正確りでした。本当にすみません。
もしかしてこのテクニックすらすでに存在しますか?
617 : Name_Not - 2014/02/21(金) 23:52:41.76 ID:3EwJVGJN (-22,+29,-36)
>>613さん
何度か試してみたけどテキストの『0』が縦に並ぶだけなのでギブアップします。
お付き合いいただいて有難う御座いました。
618 : Name_Not - 2014/02/22(土) 00:37:51.87 ID:??? (+94,+29,-12)
一般的にリリースもしないで云々かんぬん言ってる奴は
眉唾だと思って良い。
619 : Name_Not - 2014/02/22(土) 00:38:43.20 ID:??? (+90,+4,-39)
>>616
> 「本体含めて依存関係のある全てのスクリプトタグにasync属性を指定できる初めてのライブラリ」ということを言いたかったのです。

本体含めて依存関係のある全てのスクリプトを修正しないと動かないんだろ?
それじゃ使えねーよ。
620 : Name_Not - 2014/02/22(土) 00:43:23.87 ID:??? (+118,+29,-10)
>>616
存在するよ。

お前は何も出さないけど、
どんなコードかはわかるからな。
621 : Name_Not - 2014/02/22(土) 00:56:05.36 ID:??? (+114,+29,-167)
>>618
ここでは晒しませんがサイトにて公開しております。
ただ、zipファイルをダウンロードできるだけでリファレンスすらできてません。
プラグイン等の開発協力者と運よく見つけた人向けですね。
MMD(PMXファイル)を取り込めるようになったあたりから宣伝を始める予定です。

>>619
確かに使えないものかもしれませんね。
デザイナーさん達の評価を参考にしながら修正していきます。

>>620
存在するんですか!
実態はどうあれこっちのコードがパクリに見えるようなら戦略を変える必要があるのでそのライブラリを教えていただけませんか?
622 : Name_Not - 2014/02/22(土) 00:58:17.23 ID:??? (+79,+29,-8)
>>621
まずはお前が最初に出せ。
そしたらそれと同じようなものを言ってやるから。
623 : Name_Not - 2014/02/22(土) 01:11:36.08 ID:??? (+50,-30,-206)
>>622
要するにスクリプトタグを以下のように記述できるライブラリです。

<head>
<script async src="script/index.js"></script> ←ユーザーのプログラム
<script async src="plugin/plugin.js"></script> ←本体に依存するプラグイン
<script async src="script/webgl_library.js"></script> ←ライブラリ本体
<script async src="script/jquery.js"></script> ←本体が依存するjQuery
</head>

これと同じことができるライブラリが本当に存在するのでしょうか?
624 : Name_Not - 2014/02/22(土) 01:24:49.21 ID:??? (+145,+29,-95)
>>623
それってさ、各スクリプトがキャッシュに入ってると、
bodyのレンダリング前に各スクリプトの実行が始まっちゃって、普通はあんまりよろしく無いんじゃないの?
スクリプトで描画要素全部作成するとかの用途ならいいかもしれないけど

で、スクリプトで描画要素全部作成する場合ならば有効か?と言われると、
今時のブラウザならasyncとかなくてもscript並べとくだけで
読み込むのは非同期で実行は記述順でやってくれるみたいだから、
はっきり言って意味無いんじゃない?
625 : Name_Not - 2014/02/22(土) 01:56:22.50 ID:??? (+106,+29,-154)
>>624
> 今時のブラウザならasyncとかなくてもscript並べとくだけで
> 読み込むのは非同期で実行は記述順でやってくれる

おお!これは知りませんでした。
Ironで確認したところ一辺にリクエストを送っているようですね。
これなら全く意味がありません!
重要な情報をありがとうございました!
「一応asyncつけられますよ~」と軽く解説する程度に留め、独自機能としての宣伝はしない方向で検討します。
この機能はほぼ全てのブラウザが実装していてもおかしくないですね。

>>624含め今までレスしてくれたみなさんのおかげで世界中に大恥を晒さずに済みました。
>>615の言うとおりですね。

> bodyのレンダリング前に各スクリプトの実行が始まっちゃって
ここはjQueryと同じようなDOM構築待機関数を利用してます。
626 : Name_Not - 2014/02/22(土) 02:49:02.98 ID:??? (+113,-3,-71)
>>625
three.jsはよく知らんけど、jQueryとかけっこうデカイからさ、
DOM構築待機関数を呼び出す前のjQuery自身の定義の処理だってそれなりに時間がかかる
できればその辺もbodyのレンダリング後に動いたほうがいいんじゃないの?
627 : Name_Not - 2014/02/22(土) 04:23:38.41 ID:??? (+71,+23,-238)
>>626
確かにそれがベストです。WebGLが今まで通りの使われ方をすると想定するならば。
このライブラリで手軽に作れるようになると1ページにおけるWebGLのコンテンツ比率は大きく下がると考えています。

つまり、全画面WebGLが当たり前ではなくなり3D版アニメーションGIFぐらいのノリで使われるようになるということです。
ブログ記事の途中に埋め込まれたり、オークションの出品画像が3Dになったりするでしょう。
極端ですが、自分はFlashに代わってWebGLの小さなブログパーツが公開配布される状況を想定して仕様を決めています。

サイト・ブログのデザインに使われているスクリプトを一切変更しなくて済むように「jQueryの動作については干渉しない」ことを基本方針としています。
ただ、jQueryの用途がWebGLに限られている場合、>>626の処理を選択できるという機能はあってもいいかもしれませんね。

余談ですが、three.jsは圧縮後410KB、自分のライブラリはthree.jsの一部機能を削り圧縮後256KB+jQueryで公開しました。
628 : Name_Not - 2014/02/22(土) 06:37:15.27 ID:??? (+99,+30,-233)
オークションの画像が3DはWebGLの役目ではない
設計図があるもので組み立て予想図を3Dにということであればまだ可能性はある
そして単純な3D版アニメーションはCSSのカスタムシェーダーを静的に用意しとくもの
毎回作るものではない

あと依存関係解決は既存のものを流用せよ
1つのライブラリに毛色が違う機能を載せるべきではない
ES6モジュールも待ってるし、もう新しいものは必要ない

最後に、構って欲しいんなら最初から
自作ライブラリを評価してもらいたいのですがといってソースを公開しろ
それをしないとお話にならない

あと仮に素晴らしいものであったとしても
ライブラリの宣伝は100%スレチだから
質問者なんだから意見を真摯に受け止めるだけにしろ

うざいから誰も聞いてない、聞きたくもないことまでペラペラ喋らなくていい
ここは質問スレだから、雑談ならプログラミング技術板のJSスレでやれ
629 : Name_Not - 2014/02/22(土) 07:51:50.72 ID:??? (+76,+30,-90)
>>628
> 1つのライブラリに毛色が違う機能を載せるべきではない
この言葉で何だか目が覚めました。
WebGL関連はどれもファイルが重いので苦肉の策として編み出した小細工がいつの間にか自分の中で大きな意味を持つようになっていました。
純粋にWebGLライブラリとしての道を歩かせることにします。
ありがとうございました。

みなさん色々構っていただき感謝してます。ネットでもコミュニケーションが取れると嬉しいものですね。
それではまた。
630 : Name_Not - 2014/02/22(土) 11:04:39.50 ID:??? (+43,-17,+0)
>>609
クレタ人乙。
631 : Name_Not - 2014/02/22(土) 11:05:46.58 ID:??? (+57,+28,-6)
>>630
なに貰ったの?
632 : Name_Not - 2014/02/22(土) 22:16:11.70 ID:??? (+57,+29,-14)
画像だらけのデザインよりもフラットデザインの方が良いと思うが、何かと視覚効果付け足して重くすんのやめとくれ。
633 : Name_Not - 2014/02/22(土) 23:00:45.06 ID:??? (+0,-28,-22)
JavaScriptをブラウザを介さずに直接ネイティブアプリを作りたい。
634 : Name_Not - 2014/02/22(土) 23:20:20.10 ID:??? (-1,-29,-2)
そういうときに使うのが、node-webkit
635 : Name_Not - 2014/02/23(日) 00:49:29.06 ID:??? (+36,+13,-1)
HTAって呼ばれたオワコンもあるで
636 : Name_Not - 2014/02/23(日) 15:06:23.78 ID:??? (+5,-26,-15)
htmlを使わずにCとかJavaのごとくアプリケーションを作りたい
637 : Name_Not - 2014/02/23(日) 15:31:42.27 ID:??? (+53,+25,-3)
HTMLつかわんのならCとかJavaでええやん
638 : Name_Not - 2014/02/23(日) 16:25:32.71 ID:??? (-1,-29,-37)
>>636
それできるよ。
CLIでいいのならnodeなどでできるし
GUIアプリであってもたとえばGTKとか
JavaScriptバインディングが存在する。
639 : Name_Not - 2014/02/23(日) 23:54:13.81 ID:??? (+9,-30,+0)
サイト上の画像全てのリンクを貼るブックマークレットが上手く書けません。2つ目の画像からリンクが貼れず、サイトのhtmファイルがDLされます

/* NodeList取得 */
var imgs = document.images;
/* URL用配列 */
var urls = [];
/* URLをNodoListから取得 */
for(var i=0; i<imgs.length; i++) { urls[i] = imgs[i].src; }
/* aタグのonclickで呼ぶ関数を返す */
function Memorise() { var i = 0; return function() { document.getElementById('download').href = urls[i++]; }; };
/* 上の関数を代入 */
var Download = Memorise();

/* 各URLを貼る */
for(var j=0; j<urls.length; j++) {
var a = document.createElement("a");
var str = document.createTextNode("image" + j);
a.appendChild(str);
a.setAttribute("download", "image" + j);
a.setAttribute("href", "#");
a.setAttribute("id", "download");
a.setAttribute("onclick", "Download()");
document.body.appendChild(a);
var br = document.createElement("br");
document.body.appendChild(br);
}
640 : Name_Not - 2014/02/24(月) 01:04:24.61 ID:??? (+57,+29,-29)
話は変わるけどさ、ブラウザの開発者ツールで
ページ上の画像全部見れるじゃん?
あれ、まとめてダンロードできないのかな?
641 : Name_Not - 2014/02/24(月) 01:13:32.61 ID:??? (+44,-30,-143)
主なブラウザでCtrl+SでWebページ完全を選ぶとファイルを全部落とせる
>>639
setAttribute使うな。idが同じ要素を2個作るな。イベントを文字列で貼るな。
for(var a="",b=document.images,c=0,d=document.createElement("div");c<b.length;c++)a+='<a href="'+b[c].src+'">image'+c+"</a><br>";d.innerHTML=a;document.body.appendChild(d);
642 : Name_Not - 2014/02/24(月) 01:17:53.52 ID:??? (+68,+29,-50)
>>641
そういうのとは違うんだよね。

まとめてって言っちゃったから俺が悪いんだけど、
必要な物だけ選択して簡単に落としたい。

Chromeの開発者ツールで、画像リストを表示して
移動しながらドラッグ&ドロップでもかなり簡単だけどさ。
643 : Name_Not - 2014/02/24(月) 01:20:52.17 ID:??? (+62,+29,-77)
昔の開発者ツールが貧弱だった頃は
ひどかったな。

サイト側が意地でも画像落とさせないように
右クリック禁止してURLに直接アクセスしても
だめなように、リファラーみたいりクッキー使ったり。

今は開発者ツールで解析し放題だけど。
644 : Name_Not - 2014/02/24(月) 07:21:33.79 ID:??? (+3,-29,-5)
>>641
setAttribute使っちゃいけない理由ってなんですか?
645 : Name_Not - 2014/02/24(月) 14:20:55.79 ID:nacJwMgR (-28,-30,-253)
JSONファイルの読み込みと参照について質問です。
以下の様なコードを書き、JSONで読み込んだ値を配列にして
取得したいのですが、上手く出来ません。

onload内で取得しているから外部参照出来ないのだと思いますが、
出来る方法があれば教えて下さい。


obj = new XMLHttpRequest();
obj.open("get", "json.txt", true);
obj.onload = function(){
var names = [];
var myData = JSON.parse(this.responseText);
for (var i=0; i<myData.item.length; i++){
names[i] = myData.item[i].name;
}
alert(names[0]);//表示される
}
obj.send(null);
alert(names[0]);//表示されない
646 : Name_Not - 2014/02/24(月) 14:35:17.03 ID:??? (+52,+26,-54)
>>645
loadではなくreadyStateChangeで

というか、Ajaxのやり方でググればそのへんのサンプルはうじゃうじゃあるから
うまくやってるところを参考にしてくだされ
647 : Name_Not - 2014/02/24(月) 14:56:38.18 ID:??? (-6,-29,-56)
>>645
同期処理にすればお望みの動作になりますが、読み込み完了するまで処理がとまるので良い実装とはいえません。
通常はcallback関数内で処理します。
648 : Name_Not - 2014/02/24(月) 14:59:52.87 ID:??? (+52,+29,-3)
非同期処理ではまるひとおおいよね
649 : 645 - 2014/02/24(月) 15:02:03.79 ID:nacJwMgR (+3,+29,-44)
>>646-647
朝からずっとやってるのですが、全く理解できずにいます。
「javascript XMLHttpRequest Ajax」とかでもググったのですが、
理解が全く追いつかず、頭がパンクしそうです・・。

もう限界に近いので諦めます。アドバイスありがとうございました。
650 : Name_Not - 2014/02/24(月) 15:12:30.92 ID:??? (-2,-29,-32)
>>649
obj.onloadに渡した関数が実行されるのは
最後の行のalert(names[0]);が実行されるのより
はるかにはるかに後なのだよ
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

類似してるかもしれないスレッド


トップメニューへ / →のくす牧場書庫について