私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレ+ JavaScript の質問用スレッド vol.85 +
JavaScript スレッド一覧へ / JavaScript とは? / 携帯版 / dat(gz)で取得 / トップメニューみんなの評価 :
レスフィルター : (試験中)
jqueryでここまでできたのですがうまく動きません助けてください
$(function(){
$('#contents').html($('body').html().replace(/https?:\/\/[a-z0-9\.-]+\//i, '<a href="' + $1 + '">$1</a>'));
});
$(function(){
$('#contents').html($('body').html().replace(/https?:\/\/[a-z0-9\.-]+\//i, '<a href="' + $1 + '">$1</a>'));
});
jQuery使っているサイトってエラーがてんこ盛りなんだけど
よくこんなんでお金取ってるよな
よくこんなんでお金取ってるよな
getElementsByTagNameってキャッシュ機能(?)のようなものがあるんでしょうか?
firebugを使ってスピードを測っていたのですが、1回目だけ2回目以降の10倍以上の時間がかかっています。
----------
window.onload = function() {
function get() {
document.getElementsByTagName('li');
}
console.profile();
console.time("go");
for (var k = 0; k < 100; k++) {
get();
}
console.timeEnd("go");
console.profileEnd()
};
----------
100回のループだと最大0.048msで平均が0.005msですが、
1回のループだと最大0.048msで平均も0.048msです。
これって最初だけ時間がかかってるって事ですよね?
キャッシュ機能っていうのは詳しくしらないですが、
何故こういう現象が起きるのでしょうか?
firebugを使ってスピードを測っていたのですが、1回目だけ2回目以降の10倍以上の時間がかかっています。
----------
window.onload = function() {
function get() {
document.getElementsByTagName('li');
}
console.profile();
console.time("go");
for (var k = 0; k < 100; k++) {
get();
}
console.timeEnd("go");
console.profileEnd()
};
----------
100回のループだと最大0.048msで平均が0.005msですが、
1回のループだと最大0.048msで平均も0.048msです。
これって最初だけ時間がかかってるって事ですよね?
キャッシュ機能っていうのは詳しくしらないですが、
何故こういう現象が起きるのでしょうか?
実装次第じゃねーの?
短くなってるならキャッシュがきいてるだろ
速くするためにfor中ではそうなるようになってるのかもしれんし
短くなってるならキャッシュがきいてるだろ
速くするためにfor中ではそうなるようになってるのかもしれんし
ちゃんと見てはないけど可能だと思うよ?
どんなコードを書いたのか解らないから指摘云々もないわけだが
どんなコードを書いたのか解らないから指摘云々もないわけだが
>>160
そもそもhttp://colorpowered.com/colorbox/core/example1/index.html のほうは、ColorBoxというライブラリを使っているということ自体とか、そのライブラリの使い方とか、そういうことは分かっている?
そもそもhttp://colorpowered.com/colorbox/core/example1/index.html のほうは、ColorBoxというライブラリを使っているということ自体とか、そのライブラリの使い方とか、そういうことは分かっている?
>>161
失礼しました、
http://jsbin.com/ozisu5
のように記述しています。(jsは今だけ配布元のものをお借りしています)
普通にbodyにおいたリンクからは表示されるのですが、同じ記述でも
スクロールメニュー内に表示するためのvar view='<nobr>~</nobr>'内におくとできなくなります。
失礼しました、
http://jsbin.com/ozisu5
のように記述しています。(jsは今だけ配布元のものをお借りしています)
普通にbodyにおいたリンクからは表示されるのですが、同じ記述でも
スクロールメニュー内に表示するためのvar view='<nobr>~</nobr>'内におくとできなくなります。
lightboxで画像をクリックすると周りが暗くなる部分を作りたいのですが
あればなんていう名称なんでしょうか?
あればなんていう名称なんでしょうか?
$("a[rel='example1']").colorbox();をする実行タイミングの問題だろ
それにしてもdocument.writeとかもうちょっと何とかした方が・・・
jsajax.com/Articles/scrollablemenulinks/775
のソースはうんこだから参考に全面的に書きなおせ
それにしてもdocument.writeとかもうちょっと何とかした方が・・・
jsajax.com/Articles/scrollablemenulinks/775
のソースはうんこだから参考に全面的に書きなおせ
多数のDOM要素を操作したい時にいちいちgetElementByIdやらで要素を取得するより、
getElementsByTagName('*')で全ての要素を取得してcache[name]のようなハッシュに、
要素を入れておく方が速いですか?
やっているのを見たことがないので何か問題でもあるのかもしれないと思って聞きました。
getElementsByTagName('*')で全ての要素を取得してcache[name]のようなハッシュに、
要素を入れておく方が速いですか?
やっているのを見たことがないので何か問題でもあるのかもしれないと思って聞きました。
同じ関数内で複数回使うなら変数に入れるのが普通。
要素追加とかで変化するから全部のキャッシュはしたことないな。
速いか速くないかは自分の使うソースで検証すればいいんじゃない?
要素追加とかで変化するから全部のキャッシュはしたことないな。
速いか速くないかは自分の使うソースで検証すればいいんじゃない?
自己解決しました
http://tinyurl.com/3g4zl3r
http://tinyurl.com/3g4zl3r
全部の要素取得メモリ消費量がすごいんじゃないか?w
最近のPCから見れば微々たるもんだろうけどそれでもそんなサイトあんまりみたくないわ・・・
よく使う一分の要素をキャッシュするのは凄く分かる話なんだが・・・
最近のPCから見れば微々たるもんだろうけどそれでもそんなサイトあんまりみたくないわ・・・
よく使う一分の要素をキャッシュするのは凄く分かる話なんだが・・・
>>172
それを殺して名札付けて管理するのってどお?って話なんじゃないの
それを殺して名札付けて管理するのってどお?って話なんじゃないの
度々すみません。
>>178で教えていただいたのを参考にすすめているのですが、
文字リンク http://jsbin.com/ehaca6/2 だと問題ないのに
画像リンク http://jsbin.com/ehaca6/3 にした途端挙動がおかしくなります。
最初にページを読み込んだ時は問題ないのですが、
リロードしたり2回目以降にページを開くとスクロールが飛んでしまいます。
双方の違いはリンクを張る箇所をテキストのimg_linkから
img src="" />に変えた点のみです。
どこに問題があるのでしょうか…?
>>178で教えていただいたのを参考にすすめているのですが、
文字リンク http://jsbin.com/ehaca6/2 だと問題ないのに
画像リンク http://jsbin.com/ehaca6/3 にした途端挙動がおかしくなります。
最初にページを読み込んだ時は問題ないのですが、
リロードしたり2回目以降にページを開くとスクロールが飛んでしまいます。
双方の違いはリンクを張る箇所をテキストのimg_linkから
img src="" />に変えた点のみです。
どこに問題があるのでしょうか…?
>>180
オレの環境ではhttp://jsbin.com/ehaca6/3 も順調に動いているからなんとも…
>>182
Lightbox系の質問はときどきでるけど、的確で自信のある回答をみたことないので、Lightbox系を使い込んでいて親切な人はこのスレにいないんじゃない?
商業系でよく使われているライブラリなので、商売上のノウハウをあまり明かしたくないのかもしれん。
さて、自信のない回答だが、どうしてもLightboxを使いたいなら、見た目を変えることだけはできる模様:
http://journal.mycom.co.jp/articles/2007/06/14/lightbox/004.html
ただ、質問を読むに、ギャラリー化、グループ化自体ができていないんじゃない? ここを読むべし:
http://journal.mycom.co.jp/articles/2007/06/14/lightbox/003.html
もっと自由に外観をいじりたくて、なるべくjavascriptを触りたくないなら、Lightbox自体ではなく、Lightbox「系」でDIV要素なども表示できるライブラリを使うのが簡単だろう。
FancyBoxとかが良さそう。
http://fancybox.net/
実例:
http://jsbin.com/onifo5
だたし、実際のサイトに使うときは、http://jsbin.com/onifo5 のHEADタグ内のhttp://fancybox.net/~ の部分はローカルを参照するように書き換えろよ。絶対に。
オレの環境ではhttp://jsbin.com/ehaca6/3 も順調に動いているからなんとも…
>>182
Lightbox系の質問はときどきでるけど、的確で自信のある回答をみたことないので、Lightbox系を使い込んでいて親切な人はこのスレにいないんじゃない?
商業系でよく使われているライブラリなので、商売上のノウハウをあまり明かしたくないのかもしれん。
さて、自信のない回答だが、どうしてもLightboxを使いたいなら、見た目を変えることだけはできる模様:
http://journal.mycom.co.jp/articles/2007/06/14/lightbox/004.html
ただ、質問を読むに、ギャラリー化、グループ化自体ができていないんじゃない? ここを読むべし:
http://journal.mycom.co.jp/articles/2007/06/14/lightbox/003.html
もっと自由に外観をいじりたくて、なるべくjavascriptを触りたくないなら、Lightbox自体ではなく、Lightbox「系」でDIV要素なども表示できるライブラリを使うのが簡単だろう。
FancyBoxとかが良さそう。
http://fancybox.net/
実例:
http://jsbin.com/onifo5
だたし、実際のサイトに使うときは、http://jsbin.com/onifo5 のHEADタグ内のhttp://fancybox.net/~ の部分はローカルを参照するように書き換えろよ。絶対に。
jQueryのanimateをはじめ各種のエフェクト系は
いらない事をよくするので正直使わないほうが・・・
いらない事をよくするので正直使わないほうが・・・
position:fixed指定の背景付きdiv矩形をJSからstyle.left&style.top弄って動かしてゲームを作ろうとしています
そこで問題が起きたのですが
styleを弄る度に動作が重たくなってしまいます
具体的には10個矩形を動かし初め20fps出てたものが1分ほど動かすと10fpsになったりします
ずっと同じ位置をstyleに与えつづけても重たくなります
またstyleを弄る部分だけコメントアウトして物理演算の部分だけ動かすと重たくなりません
style.left;style.top;で2回で位置を指定するとsetAttribute("style","left:px;top:px;")で一括で指定するより2倍早く重たくなります
重たくなってからdocument.body.innerHTML=""で消してDOMを再度組んでやると少しだけ軽くなりますがすぐもとの重さになります
しばらく止めてGCに期待してもだめです
ちなみにブラウザはNet Front 3.4ですが、eajax.gc()は使えません
もっとも、今回はDOMがメモリリークしているのではないかと思います
いったいどうしたらいいのでしょうか?
document.body.innerHTMLの代わりにdocument.writeを使って綺麗にするといい気がしますが
styleが上手く効かなくなるというバグらしきがあり使えません
そういえば2つの画像をたくさん切り替えたときも重たくなりました
昨日四半日ググって調べましたがわかりません
何か解決の方法を少しでも知ってる方がいらっしゃったら教えてください
Canvasが使えれば一番いいんでしょうですけどね
そこで問題が起きたのですが
styleを弄る度に動作が重たくなってしまいます
具体的には10個矩形を動かし初め20fps出てたものが1分ほど動かすと10fpsになったりします
ずっと同じ位置をstyleに与えつづけても重たくなります
またstyleを弄る部分だけコメントアウトして物理演算の部分だけ動かすと重たくなりません
style.left;style.top;で2回で位置を指定するとsetAttribute("style","left:px;top:px;")で一括で指定するより2倍早く重たくなります
重たくなってからdocument.body.innerHTML=""で消してDOMを再度組んでやると少しだけ軽くなりますがすぐもとの重さになります
しばらく止めてGCに期待してもだめです
ちなみにブラウザはNet Front 3.4ですが、eajax.gc()は使えません
もっとも、今回はDOMがメモリリークしているのではないかと思います
いったいどうしたらいいのでしょうか?
document.body.innerHTMLの代わりにdocument.writeを使って綺麗にするといい気がしますが
styleが上手く効かなくなるというバグらしきがあり使えません
そういえば2つの画像をたくさん切り替えたときも重たくなりました
昨日四半日ググって調べましたがわかりません
何か解決の方法を少しでも知ってる方がいらっしゃったら教えてください
Canvasが使えれば一番いいんでしょうですけどね
javascriptで特殊な配列を作るオブジェクトを作りたいのですがやり方がよく分かりません。
例えばjQueryとかだと下記のコードのようになっていて、$('div').color();のような形でFunc.prototype以下のメソッドを実行しますが、
(1)----------
$ = Func;
function Func(expr) {
return new Func.prototype.init(expr);
}
Func.prototype = {
init:function(expr) {
//exprを元に要素を取得
},
method: function( ){
alert('foo');
}
}
Func.prototype.init.prototype = Func.prototype;
window.onload = function() {
f = $(expr);
f.method();//メソッドを実行
}
----------
作りたい形は下記のようなものなので、
例えばjQueryとかだと下記のコードのようになっていて、$('div').color();のような形でFunc.prototype以下のメソッドを実行しますが、
(1)----------
$ = Func;
function Func(expr) {
return new Func.prototype.init(expr);
}
Func.prototype = {
init:function(expr) {
//exprを元に要素を取得
},
method: function( ){
alert('foo');
}
}
Func.prototype.init.prototype = Func.prototype;
window.onload = function() {
f = $(expr);
f.method();//メソッドを実行
}
----------
作りたい形は下記のようなものなので、
続き
(2)----------
window.onload = function() {
var f = $(expr);//fに代入されるのは要素の配列
f.method();//配列内のすべての要素に対してメソッドを実行
f[0].method();//配列内の個々の要素に対してもメソッドの実行が可能
f[1].method();
}
----------
Func.prototypeのinitの中で配列を返すようにしています。
(3)----------
Func.prototype = {
init: function() {
return [elm1, elm2, elm3];
}
}
----------
そうすると当然fに代入されるのはFuncオブジェクトではなくただの配列なのでmethodメソッドは実行されません。
この配列に対して上記(2)のような形でメソッドを実行させるようにはできないでしょうか?
Array.prototypeにメソッドを追加する事も考えたのですが、普通の配列に対してはメソッドの実行をさせたくないのと、
それをするとFuncオブジェクトを作る意味がなくなるのではないかと考えたので・・・。よろしくお願いします。
(2)----------
window.onload = function() {
var f = $(expr);//fに代入されるのは要素の配列
f.method();//配列内のすべての要素に対してメソッドを実行
f[0].method();//配列内の個々の要素に対してもメソッドの実行が可能
f[1].method();
}
----------
Func.prototypeのinitの中で配列を返すようにしています。
(3)----------
Func.prototype = {
init: function() {
return [elm1, elm2, elm3];
}
}
----------
そうすると当然fに代入されるのはFuncオブジェクトではなくただの配列なのでmethodメソッドは実行されません。
この配列に対して上記(2)のような形でメソッドを実行させるようにはできないでしょうか?
Array.prototypeにメソッドを追加する事も考えたのですが、普通の配列に対してはメソッドの実行をさせたくないのと、
それをするとFuncオブジェクトを作る意味がなくなるのではないかと考えたので・・・。よろしくお願いします。
何がしたいのか確信は持ってないけど、別に Array を拡張しなくても、
Func に Array を継承させて、Func を拡張すれば良いのでは?
その為の仕組みでしょ。
Func.prototype = new Array();
Func.prototype.init = function(expr) { ... };
Func.prototype.method = function() { ... };
Func に Array を継承させて、Func を拡張すれば良いのでは?
その為の仕組みでしょ。
Func.prototype = new Array();
Func.prototype.init = function(expr) { ... };
Func.prototype.method = function() { ... };
分かりづらくてすみません。一応一歩前進しました。
var Func = function() {
return new Func.prototype.init();
}
Func.prototype = {
init: function() {
var ary = [elm, elm2];
for (var i in this) {//ここ
ary[i] = this[i];
}
return ary;
},
color: function() {
alert('foo');
}
}
Func.prototype.init.prototype = Func.prototype;
window.onload = function() {
var f = Func();
f.color();
}
要はFuncで配列を返して、返す配列に対してFuncのメソッドを継承させるという事です。
ただ配列に対してメソッドは継承できたのですが、配列の中身への継承が何故かできません・・・。
for (var i in this) {//ここ
ary[i] = this[i];
for (var j = 0; j < ary.length; j++) {//動かない
ary[j][i] = this[i];
}
}
var Func = function() {
return new Func.prototype.init();
}
Func.prototype = {
init: function() {
var ary = [elm, elm2];
for (var i in this) {//ここ
ary[i] = this[i];
}
return ary;
},
color: function() {
alert('foo');
}
}
Func.prototype.init.prototype = Func.prototype;
window.onload = function() {
var f = Func();
f.color();
}
要はFuncで配列を返して、返す配列に対してFuncのメソッドを継承させるという事です。
ただ配列に対してメソッドは継承できたのですが、配列の中身への継承が何故かできません・・・。
for (var i in this) {//ここ
ary[i] = this[i];
for (var j = 0; j < ary.length; j++) {//動かない
ary[j][i] = this[i];
}
}
とつぜんですが、質問させてください。
JavaScriptをいちから勉強しようと思っています。他の言語どころか、プログラミングがどういうものかもよくわかってないレベルです。
そんな人間がJavaScriptをある程度使えるようになるまで、何時間ぐらい勉強時間が必要でしょうか。もちろん人それぞれだとは思いますが、よかったらざっくりとでいいので教えてください。
よろしくお願いします。
JavaScriptをいちから勉強しようと思っています。他の言語どころか、プログラミングがどういうものかもよくわかってないレベルです。
そんな人間がJavaScriptをある程度使えるようになるまで、何時間ぐらい勉強時間が必要でしょうか。もちろん人それぞれだとは思いますが、よかったらざっくりとでいいので教えてください。
よろしくお願いします。
> 10分でif文を覚える
時間掛け過ぎ
> 30秒で DOM の操作を覚える
無理
時間掛け過ぎ
> 30秒で DOM の操作を覚える
無理
前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
みんなの評価 : 類似してるかもしれないスレッド
- + JavaScript の質問用スレッド vol.95 + (1001) - [97%] - 2012/1/17 4:16
- + JavaScript の質問用スレッド vol.81 + (1001) - [97%] - 2010/12/10 20:01
- + JavaScript の質問用スレッド vol.89 + (1001) - [97%] - 2011/9/4 4:17
- + JavaScript の質問用スレッド vol.88 + (1001) - [97%] - 2011/7/20 7:03
- + JavaScript の質問用スレッド vol.87 + (1001) - [97%] - 2011/6/21 6:33
- + JavaScript の質問用スレッド vol.86 + (1001) - [97%] - 2011/5/27 21:50
- + JavaScript の質問用スレッド vol.84 + (1001) - [97%] - 2011/3/30 7:32
- + JavaScript の質問用スレッド vol.83 + (1001) - [97%] - 2011/2/24 8:02
- + JavaScript の質問用スレッド vol.82 + (1001) - [97%] - 2011/1/19 7:54
- + JavaScript の質問用スレッド vol.80 + (1001) - [97%] - 2010/11/9 2:17
- + JavaScript の質問用スレッド vol.75 + (1001) - [97%] - 2010/1/23 1:07 ○
- + JavaScript の質問用スレッド vol.135 + (1002) - [95%] - 2018/11/23 10:30
- + JavaScript の質問用スレッド vol.115 + (1001) - [95%] - 2014/5/29 16:16
- + JavaScript の質問用スレッド vol.105 + (1001) - [95%] - 2013/5/20 4:45
- + JavaScript の質問用スレッド vol.125 + (1001) - [95%] - 2015/10/7 17:45
- + JavaScript の質問用スレッド vol.94 + (1001) - [95%] - 2012/1/8 15:46
- + JavaScript の質問用スレッド vol.97 + (1001) - [95%] - 2012/3/1 3:31
トップメニューへ / →のくす牧場書庫について