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

私的良スレ書庫

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

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

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
351 : Name_Not - 2011/02/04(金) 01:56:36 ID:??? (-26,-29,-30)
javascriptでグラフを描くというのに挑戦しているのでが
upしたコピー ~ コピー ~ 【完成】試作.html
でグラフを描写すると謎の隙間が空いてしまう不具合の修正方法を
教えてください。
http://www1.axfc.net/uploader/Sc/so/201415
352 : Name_Not - 2011/02/04(金) 02:45:19 ID:??? (+27,+29,-37)
innerHTMLはevalと似て文字列をコードとして評価するから、ただただ綺麗じゃない感じがして使ってない
357 : Name_Not - 2011/02/04(金) 10:51:44 ID:??? (+13,+11,-37)
フローティングウィンドウの作り方が載ってるサイトあったら教えてください。

jqueryを使わない方法で。
358 : Name_Not - 2011/02/04(金) 10:57:22 ID:??? (+2,+9,-25)
>>353
document.writeってそもそもXHTMLじゃ使えなかったから
何かそれがコピペだけのスクリプトから、JavaScriptの文法だのDOMだの知って書き始めたきっかけだった
359 : Name_Not - 2011/02/04(金) 12:22:19 ID:??? (-27,-30,-180)
以下のことをやりたいのですがどうもうまくいきません。

・やりたいこと
ダブルクリックしたときにダブルクリックされたところの要素の文字を取得

例えば
-div
テスト1 -br テスト2 -br テスト3 -br
-/div
※-はタグです。
のような構成で
"テスト2"の"ス"の部分をダブルクリックした時に"テスト2"という文字列が欲しいです。
文字列の対象範囲の特定はクリックされた位置から
前方に向かって空白が見つかるまで&後方に向かって空白が見つかるまで
で考えてます。

document.selection.createRangeでcreateRangeメソッドを使って
ダブルクリックしたときの要素が取得できるのは分かったのですが
対象要素全体での文字列等しか自分の技量では取得できませんでした。

何かいい方法があればよろしくお願いいたしますm(__)m
360 : Name_Not - 2011/02/04(金) 13:34:42 ID:??? (+8,+11,-11)
取得したい文字の要素全てにイベントしかけとけば?w
361 : Name_Not - 2011/02/04(金) 16:25:05 ID:k7e7Zkr1 (-18,+29,-39)
>>360
むしろ親要素に一個仕掛けておいて、event.target見てごにょごにょしたい
363 : Name_Not - 2011/02/04(金) 17:21:01 ID:??? (-25,-30,+0)
>>356 非常に意味不明な日本語だと思うがこういうことだと想像した。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head>
<script type="text/javascript">
var t0, t1, a = new Array(10), b = new Array(10);
function init() { t0 = document.getElementById('t0'); t1 = document.getElementById('t1'); }
function randomize() {
for(var i = 0; i < 10; ++i) {
a[i] = i; b[i] = t0.rows[i]; b[i].cells[0].innerHTML=String(Math.floor(Math.random()*1000));
}
}
function sort() {
a.sort(function(i,j){return Number(b[i].cells[0].innerHTML)-Number(b[j].cells[0].innerHTML);});
for(var i = 0; i < 10; ++i) { t1.removeChild(b[a[i]]); t1.appendChild(b[a[i]]); }
}
</script>
<title>sample</title>
</head><body onload="init()">
<div><button onclick="randomize()">RANDOM</button><button onclick="sort()">SORT</button></div>
<table id="t0" border="2"><tbody id="t1"><tr><td>1</td><td>A</td></tr><tr><td>2</td><td>B</td></tr>
<tr><td>3</td><td>C</td></tr><tr><td>4</td><td>D</td></tr><tr><td>5</td><td>E</td></tr>
<tr><td>6</td><td>F</td></tr><tr><td>7</td><td>G</td></tr><tr><td>8</td><td>H</td></tr>
<tr><td>9</td><td>I</td></tr><tr><td>10</td><td>J</td></tr></tbody></table></body></html>
364 : Name_Not - 2011/02/04(金) 18:35:05 ID:??? (-27,-30,-152)
var img = Array.slice(document.links).filter(function(e){
  return /\.(jpe?g|png|gif|bmp)$/.test(e.getAttribute("href"))
});
リンク要素の集合から画像ファイルへのリンクを抽出する処理でこれよりスマートな方法を探してます
何かいい方法ありませんか
368 : Name_Not - 2011/02/04(金) 22:11:53 ID:??? (+17,+29,-2)
ふごふご
374 : Name_Not - 2011/02/05(土) 01:23:35 ID:??? (+19,+30,+0)
375 : Name_Not - 2011/02/05(土) 08:15:44 ID:??? (+32,+29,-104)
どこのサイトだか忘れましたが、
文章内をハイライトするとPOPアップでこの用語を検索みたいなことをしているページがありました。
ハイライトを検出するイベントと、ハイライトした文字列を取得する方法を知りたいのですが、
どなたかご存知の方教えていただけませんか?よろしくお願いします。
376 : Name_Not - 2011/02/05(土) 08:54:07 ID:??? (-8,-6,-18)
ハイライトって文字列選択ってことか?
378 : Name_Not - 2011/02/05(土) 15:02:38 ID:??? (-28,-29,-28)
0から100までの値を配列にランダムソートした形で格納したいのですが
スマートな方法ってありませんか?
379 : Name_Not - 2011/02/05(土) 15:14:01 ID:??? (+14,+15,+0)
>>378
エスパーするとそこに配列を使うのが間違ってる
380 : Name_Not - 2011/02/05(土) 15:18:13 ID:??? (+22,+29,-3)
何を使うのがよいでしょうか?
382 : Name_Not - 2011/02/05(土) 15:46:08 ID:??? (+27,+29,-42)
もしかして>>379はランダムとシャッフルの違いが分からない人なのかな。
シャッフルだけなら
http://blog.livedoor.jp/dankogai/archives/50614134.html
384 : Name_Not - 2011/02/05(土) 16:26:46 ID:??? (+27,+29,-16)
一、自ら学んでJavaScriptコードを書く意思を持つ者
385 : Name_Not - 2011/02/05(土) 17:08:56 ID:??? (+22,+29,-1)
ニ、兄ちゃんこのマンガ貸して
386 : Name_Not - 2011/02/05(土) 17:17:30 ID:??? (+22,+29,-1)
三、死して屍拾う者無し
387 : Name_Not - 2011/02/05(土) 17:17:57 ID:??? (+27,+29,-17)
俺は厳重に比較が出来るか聞いておるのだ
388 : Name_Not - 2011/02/05(土) 17:32:24 ID:??? (+22,+29,-4)
できるけどそれくらい調べて下さいよ
389 : Name_Not - 2011/02/05(土) 17:47:16 ID:??? (-25,-30,-149)
>>382
ありがとうございます
そのアルゴリズムで試したんですが処理に時間がかかりました
配列に100も値があると高速化は厳しいでしょうか?

var a = [0,1,2,~98,99,100];
var b = shuffle(b);
function shuffle(list){
var i = list.length;
while (--i) {
var j = Math.floor(Math.random() * (i + 1));
if (i == j) continue;
var k = list[i];
list[i] = list[j];
list[j] = k;
}
return list;
}
390 : Name_Not - 2011/02/05(土) 18:03:01 ID:??? (-28,-30,-207)
>>389
どのアルゴリズムを選んだか知らんが10000個の配列でも5ミリ秒もかからないけど?

Array.prototype.shuffle = function() {
var i = this.length;
while(i){
var j = Math.floor(Math.random()*i);
var t = this[--i];
this[i] = this[j];
this[j] = t;
}
return this;
}

var test = [];

for(var i = 0; i < 10000; i++)test.push(i);

console.log(test); // [0,1,2…,9999]

var b = new Date().getTime();

test.shuffle();

console.log(new Date().getTime() - b); // かかった時間(ms)
391 : Name_Not - 2011/02/05(土) 19:35:46 ID:??? (-29,-30,-13)
>var a = [0,1,2,~98,99,100];

ここってまさか手書きで0から100まで入力してるの?
392 : Name_Not - 2011/02/05(土) 19:46:52 ID:??? (-21,-30,+0)
エロサイトで迷わないためにリンク一覧作るスクリプト(chromeでのみ確認)
chrome使ってるとリンク一覧生成する拡張でいいのがないから自分で書いてみました
これをブラウザに貼り付けると新規ページでユニーク&ソートした形でリンク一覧表示します
これをもっと文字数減らしたり高速化したり最適化、もしくは5大ブラウザ対応するならどのように書けますか?
変数も好きなようにつけてください
素人なのでこんなんしか掛けないので上級者のコードが見たいです

↓1行が多くなって投稿できないのでセミコロンの箇所に改行いれてます
javascript:var obj = document.getElementsByTagName("a");
var len = obj.length;
var link = len ? new Array(len):[];
for (var i=0;
i<len;
i++){if (obj[i].href != "") link[i] = '<li><a href="' + obj[i].href + '">' + obj[i].href + '</a></li>';
}var s = '<ul>' + uniq(link).sort().join("") + '</ul>';
var w = window.open("");
w.document.open();
w.document.write(s);
w.document.close();
function uniq(a){var t = [];
var r = [];
var i = 0;
var f=0;
while(a[i] != null){if(a[i] != ""){if(!t[String(a[i])]){t[String(a[i])] = 1;
r[f]=a[i];
f++;
}}i++;
}return r;
}
393 : JS評論家 - 2011/02/05(土) 19:56:59 ID:??? (+27,+29,-29)
迷うやつなんていねえよばかだろ
javascriptやってるやつは いちいち見るやつにたいしてよせいなおせっかいだな
394 : Name_Not - 2011/02/05(土) 20:03:15 ID:??? (-27,-30,-109)
なんで0~99か1~100じゃなく0~100なんだ?

// 初期化
var ary = new Array(101);
for ( var i = 0; i <= 100; ++i ) ary[i] = i;

function shuffle1() {
for ( var i = 0; i <= 100; ++i ) ary[i] += ~~(Math.random()*1000)*1000;
ary.sort();
for ( var i = 0; i <= 100; ++i ) ary[i] %= 1000;
}

function shuffle2() {
ary.sort(function(a, b) {return ~~(Math.random()*3)-1});
}

どちらかお好きな方で。
397 : Name_Not - 2011/02/05(土) 20:36:01 ID:??? (-27,-30,-92)
try~catchで一つ目のtryでエラーが出たらまた次のtryへというのは
try {}
catch (e) {
 try {}
 catch (e) {
  try {}
  catch (e) {}
 }
}
こんなふうに書くんですか?if elseみたいに入れ子じゃないように書けたりしますか?
入れ子じゃなくフラットにするには
function () {
 try { return ~ } catch (e) {}
 try { return ~ } catch (e) {}
 try { return ~ } catch (e) {}
}
みたいに書くものですか?
399 : Name_Not - 2011/02/05(土) 20:43:06 ID:??? (+27,+29,-22)
入れ子でないと動かないでしょ
普通はエラーが発生しないように組んでtryは極力使わないようにするものだがなあ
400 : Name_Not - 2011/02/05(土) 21:04:40 ID:??? (+19,+29,-2)
入れ子にするしかないんですね
どうもありがとうございます
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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