5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

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

1 :Name_Not_Found:2010/11/07(日) 20:52:18 ID:JFIAuqt0
━━━本スレに書く事を許される者は以下の通り━━━━━
 一、正しい(validな)HTMLとは何か知っており書ける者
 一、JavaScriptはJavaとは別物であると知っている者
 一、自ら学んでJavaScriptコードを書く意思を持つ者
 一、ユーザに迷惑となるスクリプトを書かない者
 一、質問を分かる日本語できちんと説明できる者
 一、トラブルを再現する最小限のサンプルを貼れる者
 一、テンプレ+FAQ>>2-10/過去ログ/関連資料を読める者
━━━━━━━━━━━━━━━━━━━━━━━━━━━
自力で書く気がない人は他のスレへ(テンプレ末尾参照)。
前スレhttp://hibari.2ch.net/test/read.cgi/hp/1284091954/
[必読]過去スレ全集 http://www2.atpages.jp/mirror/2ch/javascript/
      (閲覧のみ) http://usamimi.info/~mirrorhenkan/2ch/javascript/
      (閲覧のみ) http://wing2.jp/~mirrorhenkan/2ch/javascript/
[必読]ガイド https://developer.mozilla.org/Ja/JavaScript
(GuideをReferenceに→Netscape版言語仕様。多くの実装が準拠:ECMA-262.ed3)
FAQ・注意・過去ログ・仕様書・関連資料・関連スレ>>1-7

952 :Name_Not_Found:2010/12/10(金) 02:12:28 ID:???
>>948
一子相伝です。

953 :Name_Not_Found:2010/12/10(金) 03:05:01 ID:???
ページ内クリックしたら目的の場所に移動に移動させるために
飛びたい場所にname="#hoge"とつけてhrefで飛びますが
この飛ぶときに一気に飛ぶのではなく
ビジュアル効果で徐々にそこに向かって縦方向の高速marqueeみたいな感じで移動してるページがあります
あれをやりたいのですが技術的にどうやればいいのでしょうか?

954 :Name_Not_Found:2010/12/10(金) 03:11:26 ID:???
それ見てる方はえらい迷惑。lightboxみたいなもんだよ

>1)ユーザ(閲覧者)に迷惑がかかる性悪スクリプトは回答されない。

955 :Name_Not_Found:2010/12/10(金) 03:23:43 ID:???
>>1に書いてるユーザに迷惑ってのはそういう意味じゃないんだが
ブラクラとかウイルス踏ませたりとかそっち方面ね
ただビジュアル的にウザイとかじゃなくて危害があるもの

956 :Name_Not_Found:2010/12/10(金) 03:24:29 ID:???
実際にそういうページがあるならそこを参考にしろよw

957 :Name_Not_Found:2010/12/10(金) 03:26:05 ID:???
>>955
今までそういう意味の迷惑で取られてるよ
過去ログ読もうね

958 :953:2010/12/10(金) 03:35:18 ID:???
>>954
別に実際に使うわけではありません
技術情報を知りたかっただけです
スクロールバーがでてる状態で下のほうの位置情報をとってると思うので
なんかそういうのをとるプロパティがあるのかなぁと思ったので聞きました

>>956
おっしゃるとおりなのですがwikiのページでして
ソース量が多すぎて苦戦しています
簡素化したようなものを見つけてそこを参考にしようと思います

959 :Name_Not_Found:2010/12/10(金) 03:46:46 ID:???
フリースペースでは画像だけを表示することを禁止(つまり広告の無いページは違反)
してるところもあるからlightboxは結構便利だぞ

スクロールのアニメーションも1秒以内なら許容範囲
JSで飛ぶ場合には逆にアニメーションが無いと混乱するからな(戻るボタンで戻ろうとする)

960 :953:2010/12/10(金) 03:51:18 ID:???
一応座標系を調べてるうちに
DOM座標はgetBoundingClientRect()で取得できることがわかりました
var elm = document.getElementById('hoge');
alert(elm.getBoundingClientRect().top);
スクロールしてるページがこのプロパティを使用しているかは不明ですが
DOMの座標を取得できることがわかったので自己解決ということにします

961 :Name_Not_Found:2010/12/10(金) 03:53:26 ID:???
jqueryでそこらへんのプラグインなかったっけ?

962 :Name_Not_Found:2010/12/10(金) 03:55:38 ID:???
技術情報が知りたいのにフレームワークを勧めてどうする
まぁソース見れば参考になるだろうが目的のもの探すには時間かかるだろうな
ちなみにprototype.jsだとElement.scrollTo(element)で簡単にできる

963 :Name_Not_Found:2010/12/10(金) 03:58:40 ID:???
今回はテンプレ議論しなくていいの?
>>1に次スレ立てる人指定して欲しいんだが

964 :Name_Not_Found:2010/12/10(金) 04:05:59 ID:???
lightboxが迷惑とかそりゃないだろ・・・
ユーザビリティ考えられて作られたものなのに
迷惑かどうかを感じるのは人それぞれだけど
俺に言わせれば新タブやら新ウインドウ開いて画像表示されるほうがむしろ迷惑だわ
そんな画像マジマジとみないだろ?ちょっと拡大してフーンで閉じておしまい
そんならワンクリックのほうが断然いいわ

965 :Name_Not_Found:2010/12/10(金) 06:02:54 ID:???
エフェクトとかアニメーションとかビジュアル効果とかきくと
脊椎反射的に迷惑と考えるアホウがいるからな
ユーザビリティなんていったって理解できないだろ

966 :Name_Not_Found:2010/12/10(金) 06:13:47 ID:???
そうだよな
ユーザビリティ考えるならJavaScriptなんてOFFだよな

967 :Name_Not_Found:2010/12/10(金) 06:32:28 ID:???
あほばっかw

968 :Name_Not_Found:2010/12/10(金) 07:41:10 ID:???
>>966
ユーザビリティが何か勉強してこい
JavaScript OFFが一番親切じゃない

969 :Name_Not_Found:2010/12/10(金) 11:01:06 ID:jWxNBfYs
a.x と、 b.x の値を全く同じにするにはどのようにしたらよいのでしょうか?

a.x = 1; とすると b.x もそうなってる、といったシンボリックリンクみたいな感じなのですが、宜しくお願いします。

970 :Name_Not_Found:2010/12/10(金) 11:06:27 ID:???
Firefoxでalertを無限ループさせてしまいました
他のタブを閉じたくないのですが
ブラウザを強制終了させる以外に何か方法はありませんか?
ブラウザスレで聞くべきだとは思うのですが
こちらのほうがデバッグ中同じ経験にあわれた方もいると思うので
どなたかわかる方お願いします

971 :Name_Not_Found:2010/12/10(金) 11:16:38 ID:???
ソースコードを書きなおす→リロード なら割り込めた気がする

972 :Name_Not_Found:2010/12/10(金) 12:37:42 ID:???
>>969
同じオブジェクトを指すようにしたらどうだ

a.x = b.x = { val: 0 };
a.x.val = 1;

973 :Name_Not_Found:2010/12/10(金) 12:49:59 ID:???
ユーザビリティを考えたlightboxならいいけど、自己満足なだけのページが多いからな
flashにしたって同じ事

974 :Name_Not_Found:2010/12/10(金) 13:00:29 ID:jWxNBfYs
>>972
そうなんですけど、基本型?Atomic?のリンクみたいな事ができると面白いなと思って。


975 :Name_Not_Found:2010/12/10(金) 13:27:06 ID:???
>>972みたいな単純なことじゃなかったか。。。

すまん、意味がわからん

976 :Name_Not_Found:2010/12/10(金) 13:43:25 ID:jWxNBfYs
こういうやり方で一方通行のは出来るんですけど、

function A(){ this.x=null; }
function B(){};

var a = new A();
B.prototype = a;
var b = new B();

a.x=1; alert([ a.x, b.x ].join(','));
a.x=2; alert([ a.x, b.x ].join(','));
a.x=3; alert([ a.x, b.x ].join(','));

977 :Name_Not_Found:2010/12/10(金) 13:44:20 ID:jWxNBfYs
ただ、今回やりたいのが、b を作った後の処理で a を作る必要があるのでこの方法が取れなくて。

インスタンスの prototype を動的に変えられるといいんですけど・・。

978 :Name_Not_Found:2010/12/10(金) 14:44:57 ID:8tOixelJ
セッターやらゲッターやらでやれば

979 :Name_Not_Found:2010/12/10(金) 14:52:47 ID:???
>>976
なんとなくやりたいことはわかったけど、継承を利用したいなら
チェーン(prototype参照)が切れちゃうから、インスタンスにプロパティxを作ってはダメ。
プロパティxは参照のみ。書き換えはメソッドを通すとか工夫が必要。

var Base = new Function;
Base.prototype.x = 0;
Base.prototype.reWriteX = function(n) {
Base.prototype.x = n;
};

var A = new Function;
var B = new Function;
A.prototype = B.prototype = new Base;
A.prototype.constructor = A;
B.prototype.constructor = B;

var a = new A;
var b = new B;
a.reWriteX(1); alert([ a.x, b.x ]);
b.reWriteX(2); alert([ a.x, b.x ]);

980 :Name_Not_Found:2010/12/10(金) 15:08:18 ID:???
テンプレ論議全然できませんでした。出先で今立てられません。
どなたかテンプレ同じで立ててくださいー。(スレ立て人)

981 :Name_Not_Found:2010/12/10(金) 15:23:20 ID:???
規制されてなかったら俺が建てる

982 :Name_Not_Found:2010/12/10(金) 15:27:50 ID:???
建てられなかった…すまん

983 :Name_Not_Found:2010/12/10(金) 15:44:02 ID:8tOixelJ
よしがんばれ
駄目だったら俺がやるわ

984 :Name_Not_Found:2010/12/10(金) 15:51:41 ID:8tOixelJ
でけました
http://hibari.2ch.net/test/read.cgi/hp/1291963517/

985 :Name_Not_Found:2010/12/10(金) 18:02:32 ID:???
>>984 ありがとう!

986 :Name_Not_Found:2010/12/10(金) 21:07:05 ID:jWxNBfYs
>>979
コードまでありがとう御座います。検討したいと思います。

987 :Name_Not_Found:2010/12/11(土) 10:54:47 ID:???
>>927です。また質問があります。

rowSpanがあるテーブルの列をクリックしたときに、
その列の数を数える方法を教えてください

1 2 3
  5  
7 8  

空白になっている部分がrowSpanです
7をクリックしたら2、
3をクリックしたら1を取得したいです。

988 :Name_Not_Found:2010/12/11(土) 10:56:05 ID:???
>その列の数を
その列の行の数じゃねーの

989 :Name_Not_Found:2010/12/11(土) 11:33:28 ID:???
プロンプトを出して、ユーザに数えてもらうのが一番楽じゃないかな。

990 :Name_Not_Found:2010/12/11(土) 11:52:53 ID:???
htmlに埋め込んでおけばいいと思うよ。

991 :Name_Not_Found:2010/12/11(土) 12:05:53 ID:???
とりあえずhtml出してくれ

992 :Name_Not_Found:2010/12/11(土) 12:11:39 ID:???
そしたら値を埋め込んでやるから。

993 :Name_Not_Found:2010/12/11(土) 12:13:20 ID:???
<table border="1">
<tr><td>1</td><td>2</td><td>3</td></tr>
<tr><td colspan="3">5</td></tr>
<tr><td>7</td><td colspan="2">8</td></tr>
</table>
<hr>
<table border="1">
<tr><td>1</td><td>2</td><td>3</td></tr>
<tr><td></td><td>5</td><td></td></tr>
<tr><td>7</td><td>8</td><td></td></tr>
</table>

上か下かハッキリしてくれ

994 :Name_Not_Found:2010/12/11(土) 12:15:40 ID:???
上のほうのhtml間違ってた

<table border="1">
<tr><td rowspan="2">1</td><td>2</td><td>3</td></tr>
<tr><td colspan="2">5</td></tr>
<tr><td>7</td><td colspan="2">8</td></tr>
</table>

こうか?

まぁこんな感じでテーブルのデータ出してくれ

995 :987:2010/12/11(土) 12:59:33 ID:2b6nLnHO
<table border="1">
<tr><td rowspan="2" bgcolor="red">1</td><td>2</td><td rowspan="3" bgcolor="red">3</td></tr>
<tr><td>5</td></tr>
<tr><td bgcolor="red">7</td><td>8</td></tr>
</table>
<script language="javascript">
var table = document.getElementsByTagName('table')[0];
var td = document.getElementsByTagName('td');
for (i=0; i<td.length; i++) {
td[i].onclick = function() {
for (j=0; j<table.rows.length; j++) {
//alert(table.rows[this.cellIndex].cells.length);
}
}
}
</script>
みなさんありがとうございます
こんな感じで赤い部分の数を縦に数えたいのですがうまくできません。
1と7をクリックすると2、
3をクリックすると1がかえってくるようにしたいです
よろしくおねがいします

996 :Name_Not_Found:2010/12/11(土) 13:31:56 ID:???
個人的にはデータ配列を用意してHTMLは変更せずになんとかする


997 :Name_Not_Found:2010/12/11(土) 13:36:03 ID:???
次スレ http://hibari.2ch.net/test/read.cgi/hp/1291963517/

998 :Name_Not_Found:2010/12/11(土) 13:37:48 ID:???
ゴミクズ埋め

999 :987:2010/12/11(土) 13:39:01 ID:2b6nLnHO
次スレで同じ質問してもいいですか?

1000 :Name_Not_Found:2010/12/11(土) 13:41:28 ID:???
>>999

1001 :1001:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

271 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.02 2018/11/22 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)