私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレ+ JavaScript の質問用スレッド vol.83 +
JavaScript スレッド一覧へ / JavaScript とは? / 携帯版 / dat(gz)で取得 / トップメニューみんなの評価 :
レスフィルター : (試験中)
javascriptでグラフを描くというのに挑戦しているのでが
upしたコピー ~ コピー ~ 【完成】試作.html
でグラフを描写すると謎の隙間が空いてしまう不具合の修正方法を
教えてください。
http://www1.axfc.net/uploader/Sc/so/201415
upしたコピー ~ コピー ~ 【完成】試作.html
でグラフを描写すると謎の隙間が空いてしまう不具合の修正方法を
教えてください。
http://www1.axfc.net/uploader/Sc/so/201415
innerHTMLはevalと似て文字列をコードとして評価するから、ただただ綺麗じゃない感じがして使ってない
フローティングウィンドウの作り方が載ってるサイトあったら教えてください。
jqueryを使わない方法で。
jqueryを使わない方法で。
以下のことをやりたいのですがどうもうまくいきません。
・やりたいこと
ダブルクリックしたときにダブルクリックされたところの要素の文字を取得
例えば
-div
テスト1 -br テスト2 -br テスト3 -br
-/div
※-はタグです。
のような構成で
"テスト2"の"ス"の部分をダブルクリックした時に"テスト2"という文字列が欲しいです。
文字列の対象範囲の特定はクリックされた位置から
前方に向かって空白が見つかるまで&後方に向かって空白が見つかるまで
で考えてます。
document.selection.createRangeでcreateRangeメソッドを使って
ダブルクリックしたときの要素が取得できるのは分かったのですが
対象要素全体での文字列等しか自分の技量では取得できませんでした。
何かいい方法があればよろしくお願いいたしますm(__)m
・やりたいこと
ダブルクリックしたときにダブルクリックされたところの要素の文字を取得
例えば
-div
テスト1 -br テスト2 -br テスト3 -br
-/div
※-はタグです。
のような構成で
"テスト2"の"ス"の部分をダブルクリックした時に"テスト2"という文字列が欲しいです。
文字列の対象範囲の特定はクリックされた位置から
前方に向かって空白が見つかるまで&後方に向かって空白が見つかるまで
で考えてます。
document.selection.createRangeでcreateRangeメソッドを使って
ダブルクリックしたときの要素が取得できるのは分かったのですが
対象要素全体での文字列等しか自分の技量では取得できませんでした。
何かいい方法があればよろしくお願いいたしますm(__)m
>>360
むしろ親要素に一個仕掛けておいて、event.target見てごにょごにょしたい
むしろ親要素に一個仕掛けておいて、event.target見てごにょごにょしたい
>>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>
<!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>
var img = Array.slice(document.links).filter(function(e){
return /\.(jpe?g|png|gif|bmp)$/.test(e.getAttribute("href"))
});
リンク要素の集合から画像ファイルへのリンクを抽出する処理でこれよりスマートな方法を探してます
何かいい方法ありませんか
return /\.(jpe?g|png|gif|bmp)$/.test(e.getAttribute("href"))
});
リンク要素の集合から画像ファイルへのリンクを抽出する処理でこれよりスマートな方法を探してます
何かいい方法ありませんか
どこのサイトだか忘れましたが、
文章内をハイライトするとPOPアップでこの用語を検索みたいなことをしているページがありました。
ハイライトを検出するイベントと、ハイライトした文字列を取得する方法を知りたいのですが、
どなたかご存知の方教えていただけませんか?よろしくお願いします。
文章内をハイライトするとPOPアップでこの用語を検索みたいなことをしているページがありました。
ハイライトを検出するイベントと、ハイライトした文字列を取得する方法を知りたいのですが、
どなたかご存知の方教えていただけませんか?よろしくお願いします。
0から100までの値を配列にランダムソートした形で格納したいのですが
スマートな方法ってありませんか?
スマートな方法ってありませんか?
>>378
エスパーするとそこに配列を使うのが間違ってる
エスパーするとそこに配列を使うのが間違ってる
もしかして>>379はランダムとシャッフルの違いが分からない人なのかな。
シャッフルだけなら
http://blog.livedoor.jp/dankogai/archives/50614134.html
シャッフルだけなら
http://blog.livedoor.jp/dankogai/archives/50614134.html
>>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;
}
ありがとうございます
そのアルゴリズムで試したんですが処理に時間がかかりました
配列に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;
}
>>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)
どのアルゴリズムを選んだか知らんが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)
>var a = [0,1,2,~98,99,100];
ここってまさか手書きで0から100まで入力してるの?
ここってまさか手書きで0から100まで入力してるの?
エロサイトで迷わないためにリンク一覧作るスクリプト(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;
}
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;
}
迷うやつなんていねえよばかだろ
javascriptやってるやつは いちいち見るやつにたいしてよせいなおせっかいだな
javascriptやってるやつは いちいち見るやつにたいしてよせいなおせっかいだな
なんで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});
}
どちらかお好きな方で。
// 初期化
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});
}
どちらかお好きな方で。
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) {}
}
みたいに書くものですか?
try {}
catch (e) {
try {}
catch (e) {
try {}
catch (e) {}
}
}
こんなふうに書くんですか?if elseみたいに入れ子じゃないように書けたりしますか?
入れ子じゃなくフラットにするには
function () {
try { return ~ } catch (e) {}
try { return ~ } catch (e) {}
try { return ~ } catch (e) {}
}
みたいに書くものですか?
入れ子でないと動かないでしょ
普通はエラーが発生しないように組んでtryは極力使わないようにするものだがなあ
普通はエラーが発生しないように組んでtryは極力使わないようにするものだがなあ
前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
みんなの評価 : 類似してるかもしれないスレッド
- + JavaScript の質問用スレッド vol.88 + (1001) - [97%] - 2011/7/20 7:03
- + JavaScript の質問用スレッド vol.86 + (1001) - [97%] - 2011/5/27 21:50
- + JavaScript の質問用スレッド vol.80 + (1001) - [97%] - 2010/11/9 2:17
- + JavaScript の質問用スレッド vol.82 + (1001) - [97%] - 2011/1/19 7:54
- + JavaScript の質問用スレッド vol.84 + (1001) - [97%] - 2011/3/30 7:32
- + JavaScript の質問用スレッド vol.93 + (1001) - [97%] - 2012/1/1 4:46
- + JavaScript の質問用スレッド vol.93 + (1001) - [97%] - 2011/12/10 18:31
- + JavaScript の質問用スレッド vol.85 + (1001) - [97%] - 2011/4/25 21:32
- + JavaScript の質問用スレッド vol.89 + (1001) - [97%] - 2011/9/4 4:17
- + JavaScript の質問用スレッド vol.81 + (1001) - [97%] - 2010/12/10 20:01
- + JavaScript の質問用スレッド vol.87 + (1001) - [97%] - 2011/6/21 6:33
- + JavaScript の質問用スレッド vol.113 + (1001) - [95%] - 2014/1/25 12:46
- + JavaScript の質問用スレッド vol.131 + (1000) - [95%] - 2017/1/25 8:01
- + JavaScript の質問用スレッド vol.130 + (974) - [95%] - 2016/10/26 14:18
- + JavaScript の質問用スレッド vol.123 + (1002) - [95%] - 2015/4/27 23:30
- + JavaScript の質問用スレッド vol.123 + (966) - [95%] - 2020/10/20 2:30
- + JavaScript の質問用スレッド vol.103 + (1001) - [95%] - 2012/11/9 15:30
トップメニューへ / →のくす牧場書庫について