+ JavaScript の質問用スレッド vol.77 +at HP
+ JavaScript の質問用スレッド vol.77 + - 暇つぶし2ch391:377
10/03/27 03:27:15
>390
心強い言葉ありがとうございます。


さて肝心のものは、あれから悩み続けても進展無く、眠くて朦朧としてきただけのようです。
どなたか、解決への糸口のご教示、よろしくお願いいたします。

392:Name_Not_Found
10/03/27 07:23:56
>>391
jQuery使ったことの無い俺がなおしてやったよ。
body onloadはjQueryに変えた。気分で。
$(id_name).autocompleteArrayの部分は説明サイトからコピペ
Chromeでも動いたけど、挙動が不安定で安心できないな。
function auto_search(obj) {
var id_name = obj.getAttribute("id");
var data_arr = ["Aberdeen", "Ada", "Adamsville", "Addyston", "Adelphi", "Adena ", "Adrian ", "Akron "];
function findValue(li) {
if (li == null) return alert("該当する項目はありません");
if ( !! li.extra) var sValue = li.extra[0];
}
function selectItem(li) {findValue(li); }
function formatItem(row) {return row[0] + " (id: " + row[1] + ")"; }
function lookupLocal() {
var oSuggest = $('#' + id_name)[0].autocompleter;
oSuggest.findValue();
return false;
}
$(document).ready(function () {
$('#' + id_name).autocompleteArray(data_arr, { delay: 10, minChars: 1, matchSubset: 1, onItemSelect: selectItem, onFindValue: findValue,
autoFill: true, maxItemsToShow: 10
});
});
}
$(document).ready(function () {
var e = document.getElementById('tbl').getElementsByTagName('input');
for (var i = 0; i < e.length; i++) {
e[i].onclick = function () { auto_search(this); };
}
});

393:Name_Not_Found
10/03/27 08:43:57
>>380
SelectorsAPI+Array.forEachを使う方法

var str="";
Array.prototype.slice.call( document.querySelectorAll("div.hoge > p > span") ).forEach(function(e){
 str += e.innerText + "\n";
});
alert(str);

394:Name_Not_Found
10/03/27 09:47:05 /3VibsAd
亀だけどクラスの書き方でこういうのはダメですか?

test.Sample.prototype = {
func1: function(){
return "こんにちは";
},
func2: function(){
return "こんばんは";
}
}

var Sample = test.Sample;
var s = new Sample();
s.func2();


395:377
10/03/27 10:08:54
>392
ありがとうございます!!!
早速、jsファイルにそのままコピペしてローカルで試してみました。

alertを出せば即動くのに、alertを消すと読み込みに時間が掛かるのか
画面が表示しきってから1分程度放置すると動くようになりました。
 もしや夜中の状態も、放置時間が短かったのか?
挙動不安定とのコメントがありますが、なんか私の環境の問題もあるみたいです。

onloadの件、確かにjQueryに書き換えられますね。
大変勉強になりました。
お忙しいところ糸口所か直していただき本当にありがとうございました。

396:Name_Not_Found
10/03/27 10:45:09
>>376
ほい

<!DOCTYPE html>
<html>
<head>
<title>Untitled</title>
<link rel="stylesheet" type="text/css" href="jquery.autocomplete.css" />
<script type="text/javascript" src="jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="jquery.autocomplete.js"></script>
<script type="text/javascript">
$(document).ready(function() {
var val = '', idx, arr1 = ['Tokyo', 'Kanagawa'],
arr2 = [['Adachi', 'Arakawa', 'Chiyoda', 'Edogawa', 'Katsushika', 'Shibuya'], ['Kawasaki', 'Yokohama']];
$('#local1').autocompleteArray(arr1).bind('keyup keydown blur update', function() {
if (val == (val = $(this).val())) return;
if ((idx = $.inArray(val, arr1)) != -1) $('#local2').autocompleteArray(arr2[idx]);
});
});
</script>
</head>
<body><input type="text" id="local1" /><input type="text" id="local2" /></body>
</html>

397:Name_Not_Found
10/03/27 12:11:26
>>394
testのプロパティにする意味が不明
そもそもtestが不明
書き方を問うならせめて動くコードにしてくれよ

398:Name_Not_Found
10/03/27 12:23:32
>>397さんどもっす
コードは↓のを丸写しに近いのですがだめですかね?
URLリンク(www.kuma-de.com)

399:Name_Not_Found
10/03/27 12:36:35
それ機能説明用の抜粋だし

ついでに、なんのライブラリも読ませていない素のjavascriptで
なんの前置きもなく「クラス」という言葉を使った記事はマユツバ

400:Name_Not_Found
10/03/27 14:39:21
今はもう javascript でも「クラス」といえば一つのものが
代表されるんだから前置きも必要ないんじゃないかな。

それが厳密にクラスかどうかということは問題じゃなくてね。

401:Name_Not_Found
10/03/27 14:56:51
>>328のまんまじゃん

402:Name_Not_Found
10/03/27 16:34:23
>>400
お前みたいに前置きも必要のないレベルの相手ならそうなんだがなぁ

403:377
10/03/27 17:47:04
>396
ありがとうございます。
私に環境でも、今までの事が嘘みたいに素早く動くようになりました。
local2の方はちょと気まぐれっぽいようですが・・・

Javascriptも初心者なのに、jQueryに手を出し始めた私には
bind('keyup keydown blur update'初め、いろいろな部分今後の参考にもなります。

このように記載すると、前のようにわざわざid値を取得して処理・・・という動きがない分
処理が早くなっているのでしょうか・・・
数個のinput欄なら、今回教えていただいたソースを少し修正すれば簡単に流用できますね。

実は、各対になっている数十個にもおよぶinput欄があるので、やはりid値は取得しないといけないかな
と思っています。
jQueryでid値の取得も簡単にできることも分かりましたので(↓)
$("#tbl input").live("click", function(){
var str = $(this).attr("id");
// alert(str);
});
inputのid値の命名を見直し改修してみたいと思います。
本当にありがとうございました。

404:Name_Not_Found
10/03/27 19:13:54
現在のWebページのタイトルを所得して表示させたいのですが、以下の記述では駄目でした。
所得するTitleが違うのでしょうか

var str = document.title;
alert(str);

405:Name_Not_Found
10/03/27 19:28:49
var str = document.getElementsByTagName("title")[0].innerHTML;
alert(str);

406:Name_Not_Found
10/03/27 19:30:00
基本的なことだからググったりしてちゃんと意味も理解しとけよ

407:Name_Not_Found
10/03/27 19:31:01
どうやって呼び出そうとしたの?
たとえば

function func1(){
var str = document.title;
alert(str);
}

<input type="button" onclick="func1()" value="titleを表示するよ">
でボタンをクリックしたら表示したけど・・・
もしやtitleをHTML側に記載していないとか・・・

408:Name_Not_Found
10/03/27 19:56:58
普通に>>404でできたけどな。titleタグ前に入れたとか。scriptタグ書いてないとか。

409:404
10/03/27 20:36:38
すみません、htmlに記載ではなくWSHからのJavascritでした。
IE上のページで画像を右クリックして現在のWebページのタイトルを所得です。
画像のURLは所得できたんですけど、htmlのタイトルは対象が違うから所得できないんですかね?
現在閲覧中のタイトルを所得みたいな関数があると思ってました。

410:Name_Not_Found
10/03/27 21:14:57
課税するぞ

411:Name_Not_Found
10/03/27 21:23:43
しょ、しょ…取得

412:Name_Not_Found
10/03/27 21:41:26
WSHからってIEオブジェクト作ってそのオブジェクト経由でってことか

413:Name_Not_Found
10/03/27 21:51:16
WSHスレで申告しろよ

414:Name_Not_Found
10/03/27 21:54:23
スクリプトデバッガ使えばすぐわかるんじゃね

415:Name_Not_Found
10/03/28 03:42:41 0NtTmybY
>>413
うまいなあ

416:Name_Not_Found
10/03/28 11:07:45
Function("a",'for(var C=new Object(),c,i=0,j,k,l,m,p,s=" ",
w;i<63;i++)C["0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_".charAt(i)]=i;while(i-=7)s+=s;while((c=
C[a.charAt(i++)])<63)if(c<32)s+=String.fromCharCode(m?l*32+c:(l*32+c)*62+C[a.charAt(i++)]);else if(c<49)
{l=(c<36)?c-32:(c<44)?c+348:c+1996;m=1}else if(c<50){l=C[a.charAt(i++)];m=0}else{if(p=(w=s.slice(-819)).substring(k=(c-50)*63+C[a.charAt(i++)],j=k+C[a.charAt(i++)]+2))while(w.length<j)w+=p;s+=w.substring(k,j)}document.write(s.slice(1024))')
("XSZJ3I9GKX0ZKPG5XT2ZK5OKXFZA1M1_f4X2UWAAZN9E4FNXEZFECF14X0T0Z6LE3K9FEX89ZRWA_N0ZIX0Z3_h1XLR0_p3Z96D_n14F3LD5EKXEZ75KY5ZC5_q2Y2ZPY9Z4X87Z1XGGH79R_K3ZI_M1YDZ1K8XEZ6zc0FIX8_p4ZI1zI1DX890Azd1_M5ZLICJ_J1E5NX0Y1ZI_U0PX8_d1_h2YRXGYT_
e1X7Z8KKGXQFFZEM9KXEZN52XEZ63XIEZ3zw0XFy71xm0EZ8KDCX7_F5H_FAZ1D12_FTXI_FAZFJ1F_FTXJ_FAwL0ZA99EC9E56I1D5_4TXK_4AZJ5FB1QL_COvK1XEZJIv22_23IYT_i0ZTuH0XS_60u53U")</script><script type="text/javascript">

このあとにwindow.onload = function()と続くのですが↑はどんな処理でしょうか?

417:Name_Not_Found
10/03/28 11:29:31
ただの難読化
アフィ用のリンク埋め込みかな?urlの配列作ってるけど、そのURLが403エラーになるかわからん

418:Name_Not_Found
10/03/28 11:43:54
サンクス、納得した。

このあとに
window.onload = function(){
var c = 5;
var ifm = document.getElementById('a001');
var r = Math.floor( Math.random() * c );
var urls = new Array();
urls[0] = 'URLリンク(***)<)';
urls[2] = 'URLリンク(***)<)';
urls[4] = 'URLリンク(***)';
ifm.src = urls[r];
}

とあったが文字数オーバーで書けなかった。

419:Name_Not_Found
10/03/28 13:26:25 TH5tcATO
DOMについて、w3cとMDCのどちらで学べばよろしいでしょうか?

420:Name_Not_Found
10/03/28 13:31:45
両方

421:Name_Not_Found
10/03/28 13:50:43
W3C != w3c

422:Name_Not_Found
10/03/28 13:58:47 TH5tcATO
ありがとうございます
今からやるならDOM1とDOM2どちらを覚えたらいいでしょうか?

423:Name_Not_Found
10/03/28 14:30:25
両方
狭めないで何でもやってみろよ

424:Name_Not_Found
10/03/28 14:34:36
分けることに何か意味でもあるの

425:Name_Not_Found
10/03/28 15:40:52 2s2/Le6E
URLリンク(www.openspc2.org)
これのとおりにやっても
boxが出てこないのはなーんでか?

426:Name_Not_Found
10/03/28 15:46:56
CSSが読めてないとかエスパー

427:Name_Not_Found
10/03/28 16:15:41 2s2/Le6E
できた。
426さんありがとうございます

428:Name_Not_Found
10/03/28 16:19:11 2s2/Le6E
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>bytefx : サイズを指定する</title>
<link rel="stylesheet" href="main.css" type="text/css" media="all">
<script type="text/javascript" src="bytefx_OS.js"></script>
<script type="text/javascript"><!--
function resizeBox(objW, objH)
{
bytefx.size(document.getElementById("box"), {w:objW, h:objH}, 10);
}
// --></script>
</head>
<body>
<h1>bytefx : サイズを指定する</h1>
<form>
<input type="button" value="(200,150)にリサイズ" onClick="resizeBox(200, 150)">
<input type="button" value="(100,300)にリサイズ" onClick="resizeBox(100, 300)">
</form>
<div id="box">bytefx : を使ったリサイズサンプル</div>
</body>
</html>

引数が無効です。エラーはなんで?ほかはできたのに・・

429:Name_Not_Found
10/03/28 16:19:36 TSEy9qGr
最新ビジネスソフト入荷!
激安販売中

URLリンク(surp.t35.com)

430:Name_Not_Found
10/03/28 16:30:40
2chでの宣伝はそれなりの対価を支払ってもらうです byひろゆき

431:Name_Not_Found
10/03/28 16:56:58
>428
参考にしたサイトちゃんと見た?

width:objW, height:objH

になっていますけど・・・

432:Name_Not_Found
10/03/28 17:03:40 2s2/Le6E
なるほど、理解しました。
ご存知と思いますが、私馬鹿でして
このままではいけないと思い
勉強しているしだいです。
許してください、ごめんなさい

433:Name_Not_Found
10/03/28 17:17:22
>>429
文字化け(笑)

434:Name_Not_Found
10/03/28 17:35:53 /NWe8pm5
DOM2のmethodは41個ありますか?

435:Name_Not_Found
10/03/28 17:36:45 2s2/Le6E
>>431さん
僕のパソコンだと参考にしたサイトには
w:objW, h:objHと書いてありました。
どこにwidth:objW, height:objH と書いてあるのでしょうか?


436:Name_Not_Found
10/03/28 17:52:11
>>435
>>431じゃないけどまず自分から「参考にしたサイト」を書こうぜ
いやまあ>>425のサイトだろうけど、ページ探させないでくれめんどくさいから

んで、ライブラリのバージョンが0.2と0.4と違うからその差じゃないの?

437:Name_Not_Found
10/03/28 19:23:11 2s2/Le6E
何だこの糞ニート

438:Name_Not_Found
10/03/28 19:25:10
ステップ実行してデバッグするのって考えてもわからない馬鹿っぽいイメージでもあるの?

439:Name_Not_Found
10/03/28 19:32:46 2s2/Le6E
8日目だから勘弁しろよ
来年から新社会人なんだよ
不況だから希望する職種につけなかったんだよ
だけど、馬鹿だから頑張るんだよ
NRIだよ、プログラミング?全然興味ない
本すら買う気しないお

440:Name_Not_Found
10/03/28 20:11:18
2chで丸投げするのが「頑張り」か

441:Name_Not_Found
10/03/28 20:26:05 2s2/Le6E
そうだよ
頑張りだよ
積み重ねだよ
不況だから、死ぬ気でしがみつくお


442:Name_Not_Found
10/03/28 20:52:12
2ちゃんに頼りっぱなしで自分の力で解決できないks野郎が会社に就職していて
prototype?jquery?そんなの朝飯前な世界で優秀な俺が無職な日本

443:Name_Not_Found
10/03/28 20:55:10
新卒は技術力で雇ってるわけじゃないからなw


444:Name_Not_Found
10/03/28 20:56:17
新卒以外はゴミだからな

445:Name_Not_Found
10/03/28 20:57:36
「何で俺の方が出来るのに誰も分かってくれないんだ!」
こんな事ばかりわめき散らすだけで他のことに目を向けないから無職なんだよ

446:Name_Not_Found
10/03/28 21:03:37
大人気じゃないかw

447:Name_Not_Found
10/03/28 21:06:57 2s2/Le6E
積み重ねてないから自己責任でおつですね

448:Name_Not_Found
10/03/28 21:50:53
自分が希望する職に就けなかったのは不況のせいで、他人の無職は自己責任か

449:Name_Not_Found
10/03/28 21:52:35 2s2/Le6E
0と1の違いわかるよね


450:Name_Not_Found
10/03/28 21:55:05
ゆとりが新社会人になるって聞いてたけどこりゃ恐ろしいな

451:Name_Not_Found
10/03/28 21:55:17
0:自分が希望する職につけなかった←不況のせいで
1:自分は職についている。
0と1が違うことわかるよね?

452:Name_Not_Found
10/03/28 22:00:22 2s2/Le6E
と無職が申しております。

453:Name_Not_Found
10/03/28 22:03:21
他所でやれ

454:Name_Not_Found
10/03/28 22:08:22
無職なら時間あるんだし優秀なら面白いWebサービスでも作ってくれよ

455:Name_Not_Found
10/03/28 22:29:08 /GiPiuZo
javascript+htmlでDOMを操作する場合は
URLリンク(www.doraneko.org)
を見て勉強したらよろしいでしょうか?

javascript+htmlでしかDOMを操作しない場合は↓は特に見なくてもいいですかね?
URLリンク(www.doraneko.org)


456:Name_Not_Found
10/03/28 22:40:41
いい加減Level 3くらい見ろよ

457:Name_Not_Found
10/03/28 22:58:24 /GiPiuZo
Lv3ですか
DOMもCSSみたいにCSS3をやっとけばCSS1もCSS2.1もカバーできるって感じですかね?

458:Name_Not_Found
10/03/28 23:02:09
URLリンク(developer.mozilla.org)

459:Name_Not_Found
10/03/28 23:12:08
モデリングとか勉強するなら最初からコツコツやるのも良いが
実用の観点からはLevel 3からギリギリ使いものになるかって所
IEはLevel1+Level2の断片しかサポートしてないから独自拡張に頼らざるをえない

あとCSS3やってもCSS2.1はカバーできねーよ
現時点ではCSS2.1の方が最新でCSS3にバックポートされる可能性が高い

460:Name_Not_Found
10/03/28 23:34:51
IEでの話です。
<textarea id="tarea">
あいうえお
かきくけこ
</textarea>

<div id="other">
あいうえお
かきくけこ
</div>

<a id="fyi" href="URLリンク(2ch.net)" target="_blank">参考</a>

というHTMLがあったとします。こちらは一切変更不可とします。
JSで、textareaの中身は改行も取り出せますが、
それ以外、たとえば上記のHTMLだとdivの中身は改行は無視されてしまいます。
何とか改行まで取り出す方法はございませんでしょうか?

alert("【テキストエリアOK】\n\n" + document.getElementById("tarea").innerHTML);

alert("【DIVその1 … NG】\n\n" + document.getElementById("other").innerHTML);
alert("【DIVその2 … NG】\n\n" + document.getElementById("other").innerText);
alert("【DIVその3 … NG】\n\n" + document.getElementById("other").firstChild.nodeValue);

以下、参考までに。
aタグのhrefの中身を取り出そうとする時、勝手に変形(下記の場合、語尾にスラッシュが勝手につく)されます。
それを回避して生の値を取り出したい時、getAttributeの第二引数に"2"を指定すると生のhrefを取り出すことができます。
そのような感じでdivタグの中身も、生の値(\nなども含めて)取り出す手段は無いですかね?
alert("【参考:href】\n\n" + document.getElementById("fyi").getAttribute("href")); // 語尾にスラッシュが付く(勝手に変形)
alert("【参考:生のhref】\n\n" + document.getElementById("fyi").getAttribute("href", 2)); // 語尾にスラッシュが付かない(生の値)

461:Name_Not_Found
10/03/29 08:27:50
jQのliveって同メソッドチェーン内に複数入れると・・・
たとえば
e =$(exp);
e.find("#foo").live("click", function(){self.unko($(this));}).end()
.find("#bar").live("click", function(){self.kusso($(this));});

これだとbarクリックしただけでfooもクリックしたことになっちゃうの?仕様?

462:Name_Not_Found
10/03/29 08:39:41
試したけどちゃんとそれぞれ別に動いたよ?
どこか記述ミスか勘違いがあるんじゃないかな

463:461
10/03/29 09:00:02
御免なさい動きました。
コンテキストの指定がおかしかったようです。

e.find("#xx","#a #b").live("click", function(){self.unko($(this));}).end()
.find("#xx","#c #b").live("click", function(){self.kusso($(this));});


e.find("#a #b #xx").live("click", function(){self.unko($(this));}).end()
.find("#c #b #xx").live("click", function(){self.kusso($(this));});
で治りましたです。ありがとうございました。

464:DOM勉強家
10/03/29 13:37:33 4RvTtJ5N
DOMくそむずかしいだめだ

465:Name_Not_Found
10/03/29 13:38:28
DOMなんか勉強したことねえや

466:Name_Not_Found
10/03/29 13:42:34 4RvTtJ5N
>>465
alert(document.referrer);

467:Name_Not_Found
10/03/29 15:43:32
すみません。innerHTMLで改行も反映させて取得するにはどう
すればいいのですか?ベタになってしまいます。

468:Name_Not_Found
10/03/29 15:50:04
innerHTMLを使わないという方法

469:Name_Not_Found
10/03/29 15:58:02
>>467
DOMの勉強を始めたらいいよ

470:Name_Not_Found
10/03/29 16:01:19
DOMなんか勉強したことねえや

471:Name_Not_Found
10/03/29 16:02:24
htmlTAGの勉強すればすぐ答えわかるんじゃね。

472:467
10/03/29 17:28:26
皆様ありがとうございます。わかりません。
具体的によろしくお願いします。

473:Name_Not_Found
10/03/29 17:46:03
そもそも質問の意味が分かりません

反映させるとはどういう意味?
改行とは<br>のこと?それとも改行文字"\n"のこと?

474:Name_Not_Found
10/03/29 17:50:05
それくらい考えろよ

475:Name_Not_Found
10/03/29 18:24:35
>>460,467
ブラウザは、HTML中のスペースや改行(\n)をまとめて1つのスペースとして解釈する
解釈する前のデータを取り出す方法は用意されていない。
無理。
# 自分にXMLHttpRequestして生のテキスト取ってこれるけど、該当する部分を切り出すのが大変

476:Name_Not_Found
10/03/29 18:44:33
>>467
IEを窓から投げ捨てろ。


477:Name_Not_Found
10/03/29 20:43:58 6HS0O19Y
>>460 >>467
別人だけどたまたま同じ質問??

ちなみにgetAttributeの第二引数があったとは知らなんだ~

478:Name_Not_Found
10/03/29 23:16:16 7Kl1s0x2
URLリンク(www.e-radio.cc)
上記HPの文字の動的な処理って
どうやるか教えて

479:Name_Not_Found
10/03/29 23:32:07
右クリックして[Adobe Flash Playerについて]をクリック

480:Name_Not_Found
10/03/30 23:22:38
JavaScriptで画像を表示するようにしたんですが
画像がなかったときに計算に失敗してnullと表示されます
このnullを別の文字に置き換えたり
 例えば
 no image
 画像がありません
別の画像を差し込んだりするように出来ませんか?

今は
if(img != null) {
}
として表示されないようにしています

481:Name_Not_Found
10/03/30 23:32:34
>JavaScriptで画像を表示するようにしたんですが
って言われてもよくわからないです
JavaScriptで画像を表示する方法だっていくらでもあるんだからさ

まあ計算に失敗したとき、っていう条件でif使って
成功してたらその画像を、失敗してたら代わりの画像を表示するとかでいいんでないの?
ifじゃダメならもう少し詳しく書いてくれると答えやすい

482:Name_Not_Found
10/03/30 23:33:23
>>480
場合分けが出来てるのなら、
絵がない時用の表示を自分でするまで。

483:Name_Not_Found
10/03/30 23:34:53
>>480
>出来ませんか?
できると思うけど。何がネックでできないの?

484:480
10/03/31 00:31:43
   feed.setNumEntries(10);
   feed.load(function(result) {
    if (!result.error) {
     var container = document.getElementById("feed");
container.innerHTML="";
     for (var i = 0; i < result.feed.entries.length; i++) {
      var entry = result.feed.entries[i];
      var img = entry.content.match("<img.*jpg.*?>")

      var div = document.createElement("div");



    if(img != null){
        container.innerHTML += "" + img +"<br><hr>"
       }

      container.appendChild(div);

     }

こんなかんじです
これをどうすればいいんでしょうか

485:Name_Not_Found
10/03/31 00:41:22
else if(!result.error) {
        container.innerHTML += "<P>no image </P><br><hr>"

}

すいません
普通にelseで出来ました

486:Name_Not_Found
10/03/31 00:44:21
ソースが断片的ではっきりとしないが、
if(img != null) { } の判定で問題ないなら { } の中にやりたい処理を入れるだけだろ。
判定自体の動作が間違ってるなら、Imageオブジェクトを使ってファイルを読み込んで判定しろ。

487:Name_Not_Found
10/03/31 01:00:09
>>486
>>485

488:Name_Not_Found
10/03/31 01:09:18
この意味不明のアンカは何なの?

489:Name_Not_Found
10/03/31 01:11:49
意味不明じゃないけど。既に解決済みってことをいいたいんだろ。

490:Name_Not_Found
10/03/31 01:15:11
いちいちアンカ付けなくても見たら分かるって。

491:Name_Not_Found
10/03/31 02:06:13
>>486があれだけのことを書くのに2分59秒以上かかっただけ

492:Name_Not_Found
10/03/31 02:23:31
URLリンク(www.suntory.co.jp)
このCMを保存したいのですがどうすればいいんですか?
どなたか教えて下さい。

493:Name_Not_Found
10/03/31 02:25:20
FLASH保存しろカス、わからんならググれ
スレチだからこれ以上質問すんなよ

494:Name_Not_Found
10/03/31 03:25:45
>>493
試みたが出来なかったんだ
素人の俺には仕組みも分からないし

495:Name_Not_Found
10/03/31 04:26:54
>わからんならググれ
>スレチだからこれ以上質問すんなよ

496:Name_Not_Found
10/03/31 09:56:22 rzbAW211
Imgタグのaltの値をalertで出したいんですがどうやればいいですか?
IE6です

document.getElementBYId('Id名').alt
だと取れませんでした

497:Name_Not_Found
10/03/31 10:25:44
ふぅ・・・

498:Name_Not_Found
10/03/31 12:02:32
>>496
そのコードを机の上の紙にでも書いたんじゃねの?

というのは冗談だが、そのコードだけ出されてもアンタみたいな
何も知らなそうな人だと何やってるのか信用できないからね。

(1) alert('test'); とかでalertが出ることを確認する。
(2) alert(document.getElementById('ID名')); で要素が取れて
いること(undefinedとかでないこと)を確認する。

両方クリアしたらまた話を聞こうじゃないか。

499:Name_Not_Found
10/03/31 12:11:19
alert('笑')

500:Name_Not_Found
10/03/31 12:33:49
>>496
BYId(...) じゃなくて ById(...) ですよ。


501:496
10/03/31 12:37:11 rzbAW211
alert(document.getElementById('ID名').アブリビュート('alt'));で取れた
すまんかった

502:Name_Not_Found
10/03/31 13:39:57
すまんかったって…礼も言えんのか(呆)

503:Name_Not_Found
10/03/31 14:25:42
こんな初歩的なことで礼を求めるとかきめえんだよカス

504:Name_Not_Found
10/03/31 14:37:13
とりあえず>>498はこのスレに必要ないから消えていいよ

505:Name_Not_Found
10/03/31 14:43:14
初心者すぎて見てるだけで辛い

506:Name_Not_Found
10/03/31 14:44:36
>>501
果物の汁で書いたのか。

507:Name_Not_Found
10/03/31 15:01:35
質問です。
<div>
hello world
</div>
というHTMLがあってこのhello worldの文字列を赤くした
とします。そのあとで、赤くする前の元の文字に戻したい
んですが、CSSは使わないで、divの中だけリロードするよ
うなことはできますか?

508:Name_Not_Found
10/03/31 15:12:37 +QHcOY2M
>>507
>CSSは使わないで

style使わないでどうやって赤くしたんだ?

509:Name_Not_Found
10/03/31 15:13:44 +QHcOY2M
あー。

<div>
hello world
</div>



<div>
<span style="color:#ff0000">hello world</span>
</div>



<div>
hello world
</div>

なら。

510:Name_Not_Found
10/03/31 16:14:32
fontタグ使えよw

511:Name_Not_Found
10/03/31 16:16:42
CSS使えば楽なのに

512:Name_Not_Found
10/03/31 16:33:59
>>510
今時fontはねーよ
装飾はCSSって決まってんだろ

513:Name_Not_Found
10/03/31 19:28:46
Style Specificationってのがよくわからんかったから
class追加したり削ったりで効果替えてる

514:Name_Not_Found
10/03/31 21:38:40 Kw1eg7sa
テキストエリア内のキャレット位置を取得しようとしています。

IEではdocument.createRangeから位置計算をしているんですが、

範囲選択がされておらず、かつキャレットが行頭にいる場合に、

直前の改行の後ろにキャレットがいる場合と同値として扱われてしまいます。

IEマジFxckです。

この症状の回避法をご存知の方はおられないでしょうか。

よろしくお願いします。

515:377
10/03/31 23:58:56
今更ながら・・・
動きが遅いと嘆いていましたがjQuery Autocomplete Modの方ではなく
URLリンク(plugins.jquery.com)
から入手した1.1.0バージョンのjquery.autocomplete.jsを使用したところ
ストレス無く動くようになりました。
いろいろとご助言いただきました皆様、ありがとうございました。

516:Name_Not_Found
10/04/01 00:04:38
>テキストエリア内のキャレット位置を取得しようとしています。
過去にこれに同じ質問と回答があった気がする
誰も回答がなかったら探してみて

517:Name_Not_Found
10/04/01 15:35:45 VxfKLVAu
質問です。
オブジェクト名を変数にしたいのですが、上手くいきません。

------作ったjavaScript
var hoge = document.getElementById('hiddenHoge').value;
window.opener.document.myForm.Kind.appendChild(rAdd);
----------------------

別functionにて他の窓からとってきた値をhiddenHogeに入れています。
hogeの値は取れています。
rAddは追加する値です。

hoge = aaaだとして、
window.opener.document.myForm.aaa.appendChile(rAdd);
で正常に動作することは確認済みです。

エラー文: window.opener.document.myForm.Kind is undefined

他にも
window.opener.document.myForm[hoge]appendChild(rAdd);
とか
var f = eval( 'document.' + hoge);
window.opener.document.myForm.f.appendChild(rAdd);
とか
window.opener.document.myForm.elements[hoge].appendChild(rAdd);
とやってみましたが、駄目でした。
エラー文: form is not defined

解決方法をご存知の方いらっしゃいましたらお知恵をお貸しください。

518:Name_Not_Found
10/04/01 16:27:13
つFAQ と言おうとしたがちゃんと出来てそうだな。
まさか、window.opener.document.myForm[hoge]appendChild(rAdd);
のピリオドが無いままやってたりはしないよな?
あとhoge=Kindでおk?
こういうのは変数でやる前に定数で確認してからのが確実だよ。
window.opener.document.myForm["aaa"].appendChile(rAdd);とか


519:517
10/04/01 16:53:09 VxfKLVAu
>>518
回答ありがとうございます。
仰る通りKindはhogeの間違いです…。

確かにピリオドないままやってました!ピリオドつけたらできました。
初歩的なミスですみませんでした。
助かりました。本当にありがとう!

520:Name_Not_Found
10/04/01 20:16:36
初歩的なミスぐらい無いかちゃんとチェックしてから質問しろよ>ALL

521:Name_Not_Found
10/04/02 00:20:21
>>516
ありがとうございます。
確認してみたいと思います。

522:Name_Not_Found
10/04/02 13:52:15
DOM Level3って今の主要ブラウザの最新版は対応してますか?

523:Name_Not_Found
10/04/02 14:59:02
ふぅ・・・

524:Name_Not_Found
10/04/02 16:25:08
はぁ・・

525:Name_Not_Found
10/04/02 16:59:26
lightbox 2.04でクリックの度にモーションを位置からするようには
できないかな?

同じサイズの画像だとつまらない・・



526:Name_Not_Found
10/04/02 22:02:32
Lightbox(笑)

527:Name_Not_Found
10/04/02 23:19:47
DOM要素に独自のオブジェクトを生やして使いまわそうと思っています
ブラウザによって挙動に違いがあったりしますか?

528:Name_Not_Found
10/04/03 00:42:46
あるが、それ以上にだっせーやり方だな

529:527
10/04/03 03:16:05
>>528
やはりダサいですか…
申し訳ないですが、代替案を教えていただけないでしょうか…

ちなみに jQuery のプラグインを作っています

流れとしては、
プラグインを呼び出したときに、DOM要素ごとにオブジェクトを作成します
そして、戻り値のオブジェクトを拡張し、いくつか追加メソッドを呼べるようにします
拡張されたメソッド内ではDOM要素ごとに作成したオブジェクトのメソッドを呼び出します
また、後々呼び出された場合にも前もって作成されたオブジェクトのメソッドを呼び出したいです

DOM要素に収納するよりもっとスッキリできる解決法を教えて下さい


530:527
10/04/03 03:17:18
言葉では何がしたいのか理解してもらえない気がするので、具体的なコードを示します
$.fn.hoge = function(opt) {
 var obj;

 // コンストラクタ的に働かせる場合には要素ごとにオブジェクト生成
 if(opt) {
  obj = this.each( function(n, v){
    this.my_obj = new MyObj();
  });
 }
 else {
  obj = this;
 }

 // 戻り値オブジェクトにメソッドを拡張
 $.extend( obj, {
  extendedMethod : function() {
   return this.each( function(n, v) {
    this.my_obj.anyMethod();
   });
  }
 });
 return obj;
}

$('.some-elm').hoge('init').extendedMethod(); // #hoge,#fooでanyMethodが呼ばれる
$('.some-elm:hover').hoge().extendedMethod(); // セレクタが変わっても上と同じanyMethodが呼ばれる

531:Name_Not_Found
10/04/03 11:12:23 PaX5TXuq
スレリンク(entrance2板)
このスレの問題解決するにはどうすれば良いんでしょうか?
ご教授下さい

532:Name_Not_Found
10/04/03 12:46:03
教授はあげません

533:531
10/04/04 00:29:51
OSを新しくしたいと思います
ご教授ありがとうございました
大変助かりました!



534:Name_Not_Found
10/04/04 11:00:37
javascriptがオフのときに「オンにしてください」のようなメッセージを表示したいのですが、どのように判定するべきでしょうか?

535:Name_Not_Found
10/04/04 11:06:49
>>534
<noscript>JavaScriptを有効にしてください。</noscript>


536:Name_Not_Found
10/04/04 11:08:43
>>535
さんくすです。

537:527
10/04/04 13:05:31
解決しました

jQuery では jQuery(selector).data(anyObj) でエレメントに紐付いたオブジェクトを管理できるようですね


538:Name_Not_Found
10/04/05 23:15:13
お願いします。。
lightbox 2.04のスタートエフェクトを毎回初めからできないでしょうか?

539:Name_Not_Found
10/04/05 23:48:50
スレチ

540:538
10/04/07 12:01:10
>>539
どこのスレッドに聞けばいいでしょうか?
このモーションのリセット法を・・

541:Name_Not_Found
10/04/07 12:07:29
スレチ

542:Name_Not_Found
10/04/07 13:26:57
スレに書き込む前に>>1くらい読む癖付けたほうがいいよ

543:Name_Not_Found
10/04/07 14:53:19 XCfwTQha
素直にここで聞けばいいじゃない。
URLリンク(www.huddletogether.com)

544:Name_Not_Found
10/04/07 20:05:52 ZaYUlnqD
(value == "hoge" || value == "huga" || value == "piyo")
のようなものを短くまとめて書く方法はありますか?あれば教えてください
駄目だろうと思って試してみた
(value == ("hoge" || "huga" || "piyo"))
はやっぱり駄目でした
(/^(hoge|huga|piyo)$/.test(value))
みたいに正規表現を使うことになりますか?

545:Name_Not_Found
10/04/07 20:16:55
Firefoxなら
["hoge","fuga","piyo"].some(function(i) i == value)
でいけるが、正規表現が最短だろうな。
正規表現を避ける理由が無いと思うが。

546:544
10/04/07 21:10:14 ZaYUlnqD
>>545
どうもありがとうございます

547:Name_Not_Found
10/04/07 21:11:11
switch (value) { case "hoge": case "fuga": case "piyo": alert("poyo"); }

改行無しは冗談だけど、break無しswitchという手も一応ある
"hoge"とかが他所から与えられていてregexpを動的生成しないといけないのに
metaquoteを調達するのが面倒なときとかに使えるかもしれない

548:Name_Not_Found
10/04/07 21:15:48
個数が多いならforループで回す

549:Name_Not_Found
10/04/07 21:37:28
switchは単純なハッシュだから早いね

550:Name_Not_Found
10/04/07 22:07:52
質問です。配列のソートとランダム比較でソートが
めちゃくちゃ遅く感じるんですが、やはりソートと
言うのはそういうものなんでしょうか。一個ずつ比
較して順序決めるのも大変だなとJSには感謝してる
んですが、やっぱりちょっと気になって。要素数は
2000個くらいでソート関数はJSプロパー使ってやっ
ています。チップスお願いします。

551:Name_Not_Found
10/04/07 22:19:16
そのコードが怪しいんでしょ。
大小比較の結果を「でたらめ」にしたらsortがいつ終わったか
判断に困るからいつまでも終わらないというだけでは。
配列の内容をランダム順にするのならシャッフルすれ。
瞬時に終わるから。シャッフルのやり方なら過去ログ検索。

552:Name_Not_Found
10/04/07 22:37:35
sortを使ってシャッフルするって馬鹿げたコードを一時期よく見たな
理論的に終わらない可能性もあるだろ

553:550
10/04/07 22:48:35
>>551-552
回答ありがとうございます。えっと文章がつたなかったのかも
知れませんが、ソートとランダムは別々でして、比較すると
ソートの方が目茶遅いという話です。拙文で混乱させてしまっ
てたらすみません。

554:Name_Not_Found
10/04/07 23:09:01
>>553
URLリンク(ja.wikipedia.org)
ソートアルゴリズムは偉い人が何十年も前から研究してて今では定番のアルゴリズムがいくつかある
それを使うのが当たり前、使わないのはただの馬鹿

555:Name_Not_Found
10/04/07 23:12:16
プログラマてのは総じてひねくれてるから、曖昧な質問に対しては、
エスパーが趣味な奇特な御仁は除き、わざと的外れな回答して嫌がらせしてくるよw
いい勉強になったね


556:Name_Not_Found
10/04/07 23:17:40
こういう回答者叩きのふりをして実は質問者を馬鹿にしている奴が
一番タチ悪いよな

557:Name_Not_Found
10/04/07 23:20:49
そっとしておいてやれよ

558:Name_Not_Found
10/04/08 03:37:44 WRyR274g
体感出来るとき以外は速度を疎かにしてるなあ。
配列からランダムに一個取り出すときとか、書くのが面倒で
配列.shuffle()[0]
とか書いちゃう。

いかんなあ。

559:Name_Not_Found
10/04/08 12:33:47
配列[Math.floor(配列.length*Math.random())]
うーん、確かにちょっと長いかも知れないけどねー。

560:Name_Not_Found
10/04/08 15:02:04 ssKel2sY
うん。大して長くないなwつか、
配列.shuffle()を作ったんだから
配列.random()も作ればいいじゃんね。そうしよう。

561:Name_Not_Found
10/04/08 16:30:54
ページ内検索って自前でゴリゴリ find しないとダメかね?
ブラウザの検索ボックス使いたいんだが

562:Name_Not_Found
10/04/08 17:35:21
URLリンク(developer.mozilla.org)

563:Name_Not_Found
10/04/09 00:30:41
&は「&」を表し、
あは「あ」を表しますが、
JSで&#○○;の文字列を該当文字に変換する便利な関数か何かはありますか?
なければ代替で関数を作りたいです。

var beforeStr = "特殊文字を変換します。ああ&&";
var afterStr = "";
afterStr = beforeStr.○○○();
alert(aferStr); // ←「特殊文字を変換します。ああ&&」と出力したい。

564:563
10/04/09 00:33:22
すみません。書き込んだら、変換されちゃいましたので、便宜上全角で書き直します。


&#38;は「&」を表し、
&#12354;は「あ」を表しますが、
JSで&#○○;の文字列を該当文字に変換する便利な関数か何かはないでしょうか?
なければ代替で関数を作りたいです。

var beforeStr = "特殊文字を変換します。あ&#12354;&&#38;"; // ←実際には「&#」は「&#」です。
var afterStr = "";
afterStr = beforeStr.○○○();
alert(aferStr); // ←「特殊文字を変換します。ああ&&」と出力したい。

565:遊び人
10/04/09 00:37:55 C8xAlpmu
⊂ ⊂ ⊂
⊃ ⊃ ⊃
⊄ ⊄ ⊄
⊆ ⊆ ⊆

⊇ ⊇ ⊇
⊕ ⊕ ⊕
⊗ ⊗ ⊗
⊥ ⊥ ⊥

⋅ ⋅ ⋅
⌈ ⌈ ⌈
⌉ ⌉ ⌉
⌊ ⌊ ⌊

⌋ ⌋ ⌋
〈 ⟨ 〈
〉 ⟩ 〉
◊ ◊ ◊

♠ ♠ ♠
♣ ♣ ♣
♥ ♥ ♥
♦ ♦ ♦

566:Name_Not_Found
10/04/09 01:05:23
スペードとダイヤがなんでそんなに小ぶりな件

567:Name_Not_Found
10/04/09 01:31:03
てきとーにcreateしたdivあたりのinnerHTMLにぶちこんで
textnodeを引っ張り出すとかでできたはず

568:Name_Not_Found
10/04/09 02:13:25
String.fromCharCode(38, 38, 12354, 12354); // "&&ああ"
これを使ってreplaceすればいい

569:Name_Not_Found
10/04/09 10:06:20
質問。JavaScriptでフォントを入れ替えるにはスタイルシートでクラス
替えする以外にないですか?JavaScriptだけでやりたいです。

570:Name_Not_Found
10/04/09 11:51:26
そうですか

571:Name_Not_Found
10/04/09 12:33:58
「JavaScriptだけ」の定義がよく分からないのだけど、
たとえばHTMLファイルにCSSは書いてないが、JavaScriptで
各要素のスタイル属性を設定することでフォントを変える
とかは「JavaScriptだけ」になるのかならないのかどっち?

572:569
10/04/09 13:58:23
すみません、言葉がたりませんでしたm(_ _;)m
例えばJavaScriptだけといいのは次の様なやり方です。

elem.style.fontFamily = "MS Pゴシック";

573:Name_Not_Found
10/04/09 14:14:00
>>572
答え分かってるなら聞くなよ。顔文字も良くない。

574:569=10:06:20
10/04/09 14:25:12
ギャハァ。>>572

575:Name_Not_Found
10/04/09 14:36:12 odJrAEdI
高度かつ高速な釣りだったな

576:569=10:06:20
10/04/09 14:39:02
すみません。後半部分が送られてなかった。
影武者572のだと、いわばparentNodeのオブジェクトの属性を変更
してますよね。そうじゃなくて、stringオブジェクトそのものに
フォント指定できないかと思ったのです。なんか無理ぽですね。

577:Name_Not_Found
10/04/09 14:55:25
ギャハァとは何か?名前欄になぜ時刻を書くのか?影武者とは何か?
フザけてるとしか思えない。

578:Name_Not_Found
10/04/09 16:05:02
>>569
Stringオブジェクトでは無理だから、代わりにspanを使っては。
var span = document.createElement("SPAN");
span.appendChild(document.createTextNode("hogehoge"));
span.style.fontFamily = "...";
...
elem.appendChlid(span);
またはあちこちに挿入するのならコピーを作る必要があるので
elem.appendChild(span.cloneNode(true));

579:Name_Not_Found
10/04/09 18:24:03
document.styleSheets

580:Name_Not_Found
10/04/09 19:19:09 VBMFSSav
次のコードが動作しません。Win7/FF3.6です。

Array.prototype.push = function(){return this;};
console.log([].push());

* pop などのほかのメソッドなら大丈夫。

アドバイスよろしくお願いします。

581:Name_Not_Found
10/04/09 19:34:20 ucxhGDYD
FFって略す馬鹿まだいるんだなwwww
正確にはMF

582:580
10/04/09 19:58:12 VBMFSSav
すみません。FFのfirebugの解除したところ、問題は解消されました。

583:Name_Not_Found
10/04/10 00:43:45
テキストボックス単体で使いたいんですけど
formタグ無視して<input type="text"~だけ使うのって
jsで操作するとき(valueを取得したりstyleを変更したり)に何か不具合あるでしょうか?

584:Name_Not_Found
10/04/10 02:54:37
valid じゃないんだから、どんな挙動になっても文句言うな。

585:Name_Not_Found
10/04/10 03:10:07
validでしょ

586:563
10/04/10 03:28:47
>>568
ありがとうございます。

var beforeStr = "特殊文字を変換します。あ&#12354;&&#38;";// ←実際には「&#」は「&#」です。
var afterStr = afterStr = beforeStr.replace(/&#(\d+);/g, function(total, a){
    return String.fromCharCode(a);
  });
alert(afterStr); // ←「特殊文字を変換します。ああ&&」と出力。

↑これでできました。

ちなみに、これは&#(数字);を変換する場合ですが、
では、&(キーワード);を変換するってことはできないですよね。

(例)
&amp; → &
&quot; → "

587:563
10/04/10 03:31:02
コピペミス失礼。

var beforeStr = "特殊文字を変換します。あ&#12354;&&#38;";// ←実際には「&#」は「&#」です。
var afterStr = beforeStr.replace(/&#(\d+);/g, function(total, a){
    return String.fromCharCode(a);
  });
alert(afterStr); // ←「特殊文字を変換します。ああ&&」と出力。


588:Name_Not_Found
10/04/10 03:33:06 MSxLD0Vw
&
"
'

589:Name_Not_Found
10/04/10 04:26:12
ふと思った素朴な疑問。
普段、当たり前のように使っている()と[]の違いを知りたいです。

var ary = ["a", "b", "c"];
alert(ary[0]);
alert(document.getElementsByTagName("div")(0).innerText);

前者の[0]は(0)に変えるとエラー。
後者の(0)は[0]に変えても動く。
なぜでしょうか?


590:Name_Not_Found
10/04/10 04:36:59
>後者の(0)は[0]に変えても動く
お前が普段どういう環境でやってるかよく分かる

591:Name_Not_Found
10/04/10 04:42:01
>なぜでしょうか?
おそらくIEだからです(^o^)

592:Name_Not_Found
10/04/10 05:23:41
var ary1 = ["a", "b", "c"];
var ary2 = document.getElementsByTagName("div");
alert(ary1[0]);      // IE,FF共にOK。当たり前。
alert(ary1(0));      // IE,FF共にNG。関数と区別できないし、そもそも正しい添字の書き方ではないから。
alert(ary2[0].innerHTML); // IE,FF共にOK。配列だから当たり前か。
alert(ary2(0).innerHTML); // IEは(なぜか)OK、FFはきっちりエラー。

こういう理解でOKですね?


593:Name_Not_Found
10/04/10 08:03:54
ary2*(0)ってやってみ

594:Name_Not_Found
10/04/10 09:36:35
>>592
document.getElementsByTagName が返す値は配列ではなく
NodeList。DOM標準をちゃんと読むべきだね。

595:Name_Not_Found
10/04/10 10:19:59
xpathを使ったときsnapshotLengthのsnapshotItemにアクセスするのはsnapshotItem(0)だったので混乱した


596:Name_Not_Found
10/04/10 11:18:01
配列みたいにインデックスでアクセス出来るのは、
0, 1, 2, ...
という名前のプロパティが定義されてるから。

var divList = document.getElementsByTagName('div');
とした時、divList[i] は、divList.item(i) の簡略記法。

597:Name_Not_Found
10/04/10 11:52:46
1994年生まれの人集まれ!★3
スレリンク(nendai板)

598:Name_Not_Found
10/04/10 16:22:07 iIRbWCGq
配列ってこういうオブジェクトってことですか?

{
0 : “aaa“,
1 : “bbb“,
2 : “ccc“,
length : 3,
push : function(){ 追加 },
sort : function(){ 並べかえ },
}

599:Name_Not_Found
10/04/10 22:02:46
unixtimeをグレゴリオ暦に変換する一番手っ取り早い方法はなんですか?

600:Name_Not_Found
10/04/10 22:07:40
new Date(0).toString()

601:Name_Not_Found
10/04/10 22:13:13
>>600
さんくすです

602:Name_Not_Found
10/04/11 08:04:37
>>> document.getElementsByTagName("div") instanceof Array
false
>>> document.getElementsByTagName("div") instanceof Object
true

へぇArrayじゃなかったのか

603:Name_Not_Found
10/04/11 10:03:40
NodeList(またはHTML Collection)は配列みたいなオブジェクト

後で追加した要素にも対応してくれるけど、配列より遅いだったか?

604:Name_Not_Found
10/04/11 13:08:25
でも IE の場合、NodeList は Object のインスタンスじゃないし、
Array.prototype.slice.call(NodeList) で配列に変換できない罠。

605:Name_Not_Found
10/04/11 17:23:43
配列を数値に変換するときってどのような処理になるんでしょう?

(1) alert( +[123] ); // 123
(2) alert( +[0xFF] ); // 255
■サイズ1で、要素が数値の配列はその値そのものに変換されるように見える。

(3) alert( +["0xFF"] ); // 255
■サイズ1で、要素が文字列ならToNumber()か何かで数値に変換される?

(4) alert( +["010"] ); // 10
(5) alert( +["123ABC"] ); // NaN
■この挙動はやっぱりToNumber()が使われているように見える

(6) alert( +[true] ); // NaN
■ToNumber(true) って1のはずなのになんで?

仕様書を見るとArrayのDefaultValueが呼ばれているように読めるのですが、
その中身までは定義されていないようです。
ということはブラウザ依存の謎仕様なんでしょうか、
それとも何か読み落としてるだけでちゃんと理由があるんでしょうか。

606:Name_Not_Found
10/04/11 17:57:20
数値に変換する前にtoStringが入ってるから

607:Name_Not_Found
10/04/11 21:58:52
>>606
ありがとうございます!
もう一度読み直してきます。

608:Name_Not_Found
10/04/12 05:39:27
createElementで作ったtype=textなInputで、内容のテキストが選択できないというか、
マウスのクリックが全く効かないんですが、何か理由があるんでしょうか?



609:Name_Not_Found
10/04/12 05:53:55
事故解決しました><

挿入先がAタグに囲まれてました。

610:Name_Not_Found
10/04/12 09:16:44
<form>
<input type="button" value="すべて選択" onClick="select(1)">
<input type="button" value="すべて解除" onclick="select(0)">';

・・・・・・・・・・・・・・・・・・・・・・・・・・・


function select ( bool){
var x=document.getElementsByTagName('input');
if(x[i].type.match('checkbox')){
if(bool){
for(var i=0;x[i];i++)x[i].checked = true;
}else{
for(var i=0;x[i];i++)x[i].checked = false;
}
}
}


なぜか、
すべて選択」が効かないです。
エラーは出てません。

どうチェックして要ったらいいでしょうか。

おねがいします。

611:Name_Not_Found
10/04/12 10:03:48
そりゃそうだろうな
一行ずつ何をしているのか説明してみろよ
ついでに無駄なことをしているのにも気付け

612:Name_Not_Found
10/04/12 22:17:51
ブラウザのリサイズが終わったタイミングで動かしたい関数があるのですが、どのようにするのがいいのでしょうか?
onResizeEndは対応しているブラウザが少ないみたいなので使いたくありません。
onResizeを使うと、リサイズの間に何度も関数が実行されて好ましくありません。

いい方法があれば教えてください。

613:Name_Not_Found
10/04/12 22:37:17
リサイズなんて迷惑なことやめてくれ

614:Name_Not_Found
10/04/12 22:38:04
フラグとsettimeout使ってonリサイズをしてからある時間リサイズされてなければ実行はどうよ。

615:Name_Not_Found
10/04/12 22:40:05
リサイズなんてブラウザ側で無効にしてますけどね


616:Name_Not_Found
10/04/12 22:55:24
>>613
どういうことでしょうか?

>>614
ありがとうございます。そうします。

617:Name_Not_Found
10/04/12 23:01:32 Gft8q3RR
おまいらリサイズに脊髄反射しすぎw
ウィンドウをリサイズするんじゃなくて、
リサイズされたら発火したいんだろ。

で、厳密にやろうと思ったらマウスとウィンドウの大きさ見張って、
自分なりのイベント作るしかない、のかなあ。

618:Name_Not_Found
10/04/12 23:11:01
というか、いまどきタブブラウザ使っていればリサイズなんてしないけどな。

619:Name_Not_Found
10/04/12 23:21:00
横幅に合わせてアイテム数やカラム数を調整したりするサイトはたまにあるよね。

620:Name_Not_Found
10/04/12 23:22:09
>リサイズされたら
リサイズが終わったという文言でどうしてそういう解釈ができるのだろうか

621:Name_Not_Found
10/04/12 23:24:12
嗚呼リサイズってブラウザ全体じゃなくて要素のリサイズのことね

622:Name_Not_Found
10/04/12 23:50:27
「ブラウザのリサイズ中」は何もしたくないので「ブラウザのリサイズが終わったタイミング」と書きました。
スクリプトからブラウザのリサイズを行いたいということではなく、
閲覧者がブラウザのサイズを調節したり、最大化や「元に戻す」をしたときに
ホームページのレイアウトを調節したかったのです。

誤解を招くような表現で申し訳ありません。

623:Name_Not_Found
10/04/12 23:56:28
CSSでうまくいくようにやれよ。

624:Name_Not_Found
10/04/13 10:38:50
>>622
最初の文章で十分に伝わったよ。
判らない方がどうかしてる。

625:Name_Not_Found
10/04/13 17:19:21
こういう感じ? どれくらい待ったら「リサイズが終わった」と
判断するかは使ってみた感じで調整する必要があるかも。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
var tid = 0;
function ex() {
var d0 = document.getElementById('d0'), d1 = document.getElementById('d1');
d1.style.left = Math.floor(d0.offsetWidth / 2) + 'px'; tid = 0;
}
function rs() { tid > 0 && clearTimeout(tid); tid = setTimeout(ex, 1000); }
</script>
</head><body onresize="rs()" onload="ex()">
<div id="d0"><div id="d1" style="position:absolute">X</div></div>
</body></html>

626:612
10/04/13 18:06:08
>>625
ありがとうございます。
私も同じようなスクリプトを書きました。

そのとき思ったのが、tidへの書き込みが重なることがあるかないかです。
同時アクセスは起こりえないんでしょうか?


627:Name_Not_Found
10/04/13 18:22:14
>>626
ブラウザ上のJavaScriptは単一スレッドで実行されるから、同時アクセス
は起こり得ない。

628:612
10/04/13 18:28:10
>>627
ありがとうございます。スッキリしました。

629:Name_Not_Found
10/04/13 19:57:31
リキッドデザインにすればよいのではないのかしら

630:Name_Not_Found
10/04/13 20:29:19
送信フォームなどでボタンの2度押しをできないしているものがありますが、
あれはjavascriptでやっているのでしょうか?

631:Name_Not_Found
10/04/13 21:08:20
一番必要そうなのは、多段組みで段数を領域幅に応じて変化させる
とかかな。そういうのはCSSだけじゃできないから。

632:Name_Not_Found
10/04/13 21:23:59
いや、できるし。

633:Name_Not_Found
10/04/13 21:30:38
うーん、1つの「段」に入るテキストの量も段数の変化とともに
変わるわけだと思うけど、内容量を変えるとかできるの?
本当ならCSSスレに質問に行こうっと。

634:Name_Not_Found
10/04/13 21:48:55
普通にCSSでできるだろ
JSが必要になるのは条件によって文字の詰め方を変えるとき

635:Name_Not_Found
10/04/13 22:24:01
min-width max-width min-height max-height
好きなのを選べ

636:Name_Not_Found
10/04/13 22:45:48
>>635
全部IE6で使えないね

637:Name_Not_Found
10/04/13 23:11:19
>>630
・1回押したらJavaScriptでボタンを無効化する
・ボタン押下時、トークン(画面を表示するごとに毎回変わる値)を一緒に送信。
 サーバ側で2回同じ値が送信されてきたら2回目以降を弾く
を両方やるのが普通

638:Name_Not_Found
10/04/13 23:24:03
諸君らの愛してくれたIE6は死んだ。なぜだ!?

639:Name_Not_Found
10/04/13 23:28:25
>>638
まだまだ現役ですが。ウチの会社IE7以上は使用禁止

640:Name_Not_Found
10/04/14 00:44:43
だが斬る

641:Name_Not_Found
10/04/14 01:08:43
>>639
IE7使えるじゃん
問題ない

642:Name_Not_Found
10/04/14 01:36:17
>>641
IE7以上は使用禁止=IE7は×

643:Name_Not_Found
10/04/14 01:41:08 FIr7FDoe
ページの読み込みが完了したら、そのページ内の画像URLの中で、Not Foundとかで表示されない画像URLのリストを調べるスクリプトです。
IEではうまくいくのですがFirefoxでうまくいきません。回避策を教えてください。
<html>
<head>
<script>
window.onload = function(){
  var str = "";
  var imgAry = document.images;
  for(var i=0; i<imgAry.length; i++){
    var img = new Image();
    img.onerror = function(){
      str += img.src + "\n";
    }
    img.src = imgAry[i].src;
  }
  alert(str);  // IEでは正常に「URLリンク(2ch.net)」と出てくれる
}
</script>
</head>
<body>
<img src="URLリンク(2ch.net)"><br>
<img src="URLリンク(2ch.net)"><br>
<img src="URLリンク(cast.texpo.jp)"><br>
<img src="URLリンク(2ch.net)"><br>
</body>
</html>

644:Name_Not_Found
10/04/14 03:25:44 JgC9T0UH
>>643
ちょうど手元のFirebugに似たようなスクリプト書いてあってワロタ
ちゃんと動くよ

var tmp = document.getElementsByTagName("img");
for(var i=0,l=tmp.length ; i<l ; i++)(function(img){
    img.onerror = function(){
        console.log(img);
    }
    img.src = img.src;
})(tmp[i]);


645:Name_Not_Found
10/04/14 03:28:31 JgC9T0UH
あー、わかった。

var img = new Image();

がいかんのよ。

646:Name_Not_Found
10/04/14 03:57:31
>>645
>>643じゃないけど、それは関係ないと思う
こっちで試してみ

var arr = [], elems = document.getElementsByTagName("img");
for (var i = 0, len = elems.length; i < len; i++) (function(elem) {
var img = new Image();
img.onerror = function() {
console.log(this.src);// こっちは出力される
arr.push(this.src);
};
img.src = elem.src;
})(elems[i]);
console.log(arr);// こっちは出力されない

さっきから試行錯誤してるんだが、よー分からんな
onerrorが駄目ならonloadでとって差分とればいいじゃないと思ったけどこれも駄目だった(Chromeならこの方法でできた)

647:Name_Not_Found
10/04/14 04:01:13
ヒント:同期と非同期

648:Name_Not_Found
10/04/14 05:10:33
ヒント:循環参照

649:645
10/04/14 09:55:34 JgC9T0UH
うまく伝わらなくて申し訳ない。

ヒント:スコープ

650:Name_Not_Found
10/04/14 14:14:51
Fxではimg.onerrorが非同期になっているから?!

同期にすればいいってこと?

651:Name_Not_Found
10/04/14 15:14:26
onError が発生する前にalert( str )まで行ってるんじゃね?
↓実行するとfinish onloadから表示された

<script type="text/javascript">
window.onload = function (){
var str = "";
var imgAry = document.images;
for(var i=0; i<imgAry.length; i++){
var img = new Image();
img.onerror = function(){
str += img.src + "\n";
alert( "from onerror\n" + str );
}
img.src = imgAry[i].src;
}
alert( "finish onload\n" + str);
}
</script>

652:643です。
10/04/14 18:14:34
みなさん、いろいろ試していただきありがとうございます。

  var str = "";
  var imgAry = document.images;
  for(var i=0; i<imgAry.length; i++){
    var img = new Image();
    img.onerror = function(){
      str += this.src + "\n";
      console.log("途中\n" + str);
    }
    img.src = imgAry[i].src;
  }
  alert("結果\n" + str);
  console.log("結果\n" + str);

ってやると、アラートではstrが空ですが、コンソール上では以下のような順番で出力
され、結果のstrも期待通りの出力になっていました。
アラート無しでうまくいくようにするためにはonerrorが発生するまで待つような処理にする必要がありそうですが可能でしょうか?

途中
URLリンク(2ch.net)
-----------------------------------
途中
URLリンク(2ch.net)
URLリンク(2ch.net)
-----------------------------------
結果
URLリンク(2ch.net)
URLリンク(2ch.net)
-----------------------------------

653:Name_Not_Found
10/04/14 19:51:05
まずメモリーリークを直せ

654:Name_Not_Found
10/04/14 23:36:40 JgC9T0UH
var elem = [<img>,<img>,<img>];
for(var i=0,l=elem.length ; i<l ; i++){
    img[i].onclick = function(){
        alert(i);
    }
}

655:Name_Not_Found
10/04/15 00:22:33 vQvFmtnL
URLリンク(zipdeyaruo.blog42.fc2.com)
このページを見ると、

  i+=0;i+=13;i+=5;i+=6;i+=3;i+=22;i+=3;i+=8;i+=18;i+=22;i+=1;i+=2;.....

と、延々と i になんか数字たしてるんだけど、これってなにやってるの?

656:Name_Not_Found
10/04/15 03:43:33
宣伝乙

657:Name_Not_Found
10/04/15 06:42:02
どうしてもボタン「すべて選択」が効かない。 教えてください。お願いします。function select()にイベントが届いていないようです。
0<body>
1<div id="imgCheck"></div>
2<script type="text/javascript">
3//@cc_on
4Number.prototype.zero = function(n){ return ('0000000000'+ this).slice(-n); }
5var html = '<form><input type="button" value="すべて選択" click="select(1)"><input type="button" value="すべて解除" onClick="select(0)">';
6for(i=0;i<10;i++){
7var src = 'img'+(i.zero(4))+'jpg';
8html += '<div class="imgbox"><img src="' + src + '.jpg" alt="'+src+'"><div><input type="checkbox" value="'+src+'">'+src+'</div></div>';
9}
10html += '</form>';
11document.getElementById('imgCheck').innerHTML = html;
12document.getElementById('imgCheck')./*@if(1)attachEvent('on'+ @else@*/addEventListener(/*@end@*/'mouseover', chk, false);
13function chk( evt ){
14var node = evt.target || evt.srcElement;
15if( node.nodeName == 'INPUT' && node.type =='checkbox' ) node.checked = !node.checked;
16}
17function select ( bool){
18 var x=document.getElementsByTagName('INPUT');
19
20 for (var i=0;x[i];i++){
21
22 if(!(x[i].type.match('checkbox')) )continue;
23
24 switch(bool){
25 case 1: x[i].checked = true; break;
26 case 0: x[i].checked = false; break;
27 }
28 }
29}
30</script>

658:Name_Not_Found
10/04/15 07:15:35
>イベントが届いていないようです
だろうな。HTMLすらまともに書けてないもの。

659:Name_Not_Found
10/04/15 09:45:47
イベントが届いてないなら届くように書けば良いじゃん
いちおうこれヒントな

660:Name_Not_Found
10/04/15 10:59:26
スレ違いかもしれないんだが、選んだ項目(プルダウンメニュー)によって
自動返信の内容を変えるフリーのメールソフトってないですかね?
PHP、CGIどちらでもかまいません。

661:Name_Not_Found
10/04/15 11:06:01
>>657
onclick="alert(select)"

スコープ順位の高い位置で select が定義されてる。
他に focus, click なんてのもある。

<input type="checkbox" onmouseover="focus(); click();">

名付けには気を遣え。

662:Name_Not_Found
10/04/15 11:17:47
>>657
<html><head></head><body>
<form><input type="button" value="すべて選択" onclick="sel(1);" /><input type="button" value="すべて解除" onclick="sel(0);" /><div id="imgCheck"></div></form>
<script type="text/javascript">
Number.prototype.zero = function(n) { return ('0000000000' + this).slice(-n); };
var addEvent = function(node, type, fn) {
  if (document.addEventListener) node.addEventListener(type, fn, false);
  else if (document.attachEvent) node.attachEvent('on' + type, function(e) { fn.call(node, e); });
}, sel = function(num) {
  var nodes = document.getElementById('imgCheck').getElementsByTagName('input');
  for (var i = 0; nodes[i]; i++) (function(node) {
    if (num == 0) node.checked = false;
    else node.checked = true;
  })(nodes[i]);
}, html = '';
for (var i = 0; i < 10; i++) {
  var src = 'img' + i.zero(4) + 'jpg';
  html += '<div class="imgbox"><img src="' + src + '.jpg" alt="' + src + '" /><div><input type="checkbox" value="' + src + '">' + src +'</div></div>';
}
document.getElementById('imgCheck').innerHTML = html;
addEvent(document.getElementById('imgCheck'), 'mouseover', function(e) {
  var t = e.target || e.srcElement;
  if (t.nodeName == 'INPUT' && t.type =='checkbox') t.checked = !t.checked;
});
</script>
</body></html>

663:Name_Not_Found
10/04/15 11:33:16
>>661,662

ありがとうございます。


がんばって今からやってみます。


664:Name_Not_Found
10/04/15 11:36:34
何かもういろいろひでえな

665:Name_Not_Found
10/04/15 12:03:07
>>662
えー……

666:657
10/04/16 23:39:44
>>661,662


なんとかがんばって理解しようとしてみた



・onclick」はonClick」でなくてもOKなんですね
・function(e)がよくわからない
 こうかいておけば、あらゆるイベントが起こった際に、これが呼び出される?
 eにはイベントオブジェクトが入る?
・元スクリプト>>657は、なぜ機能しなかったのか

・661さんの
 スコープ順位の高い位置で select が定義されてる。」

selectの書いた場所がどうならよかったのか
スコープ順位」とは?


ここらへんが謎です



667:Name_Not_Found
10/04/17 00:45:51
HTMLであれば属性名の大文字小文字は区別されない

> >>657は、なぜ機能しなかったのか
5行目「click」じゃなくて「onclick」だろう

・イベント属性(onclick)の中でコンテキスト(this)はその要素
・input要素はselectメソッドを持つ
<input ~ onclick="select(1)">だとinput要素のselectメソッドが呼ばれる
=> onclick="window.select(1)"
=> 関数名を変える

662もそうだが、そのままbool使えばいいだろう。1はtrue、0はfalseだ
というか最初からonclick="select(true)"にしとけばいい

668:Name_Not_Found
10/04/17 01:00:56 np2HCHTk
Operaでtextarea入力した単語の自動スペルチェックをOFFにする方法ってないでしょうか
.setAttribute("spellcheck", false)
とか使ってもだめでした。

669:Name_Not_Found
10/04/17 01:25:13
それはサイト側でやることなのか?
それと、もしそれでオフになったとしてもJSでやる必要なくね?

670:Name_Not_Found
10/04/17 01:35:46
>>668
特定サイトだけではなく機能自体をOFFにしたいのなら、
以下の手順で切り替え可能

ツール>設定>詳細設定>閲覧>スペルチェック

671:Name_Not_Found
10/04/17 02:03:28 np2HCHTk
>>670
レスどうもです。

自分の作ったHTML上で使えるツールを使う時だけOFFにしたかったのですが、
使う人に対して「どうしても気になるならこういう風に設定して」と説明文を書いておくしか無いですかね。

672:Name_Not_Found
10/04/17 04:32:17
正直、ただのお節介だと思う。
スペルチェックが必要ない人は最初から切ってる。
textareaを使ったサイトは2chを含め無数にあるのに、
あなたのサイトを訪れたときにだけスペルチェックの赤線が気になって
イライラするOperaユーザーなんて全世界に数人もいない。
逆に、それ以外の全ての人にとっては無駄な記述になる。
サイト側で気にすることじゃないよ。

673:Name_Not_Found
10/04/17 09:57:13 ngIEobeO
質問です。
IE限定のwindow.createPopup()を使用しています。
(IE7またはIE8のみの環境で使用しています)

これで作成したポップアップウィンドウが消えるとき(または消えたとき)のイベントを
ハンドリングしたいのですが、方法がわかりません。分かる方がいましたら教えていただけませんでしょうか?

<html>
<head>
<script>
function showPopup() {
    var popup = window.createPopup();
    var pb = popup.document.body;
    pb.innerHTML = '<div>test</div>';
    popup.show(100, 100, 100, 100, document.body);
}
function popupHide() {
    document.getElementById('msg').innerHTML = '消えた';
}
</script>
</head>
<body>
<div onclick="showPopup();">popup</div>
<div id="msg"></div>
</body>
</html>

試してだめだった方法(上記のpopup.show()の前に記述)
1. popup.onBlur='popupHide()';
2. popup.onUnload='popupHide()';


674:Name_Not_Found
10/04/17 10:36:22 V4JRvi1z
現在フォーカス持ってる要素って取得できますか?


675:Name_Not_Found
10/04/17 10:42:57
>>674
document.activeElement

676:Name_Not_Found
10/04/17 11:27:16
>>675
ありがとう。


677:657
10/04/17 23:12:15
>>667

御礼遅れました。
ありがとう。

678:Name_Not_Found
10/04/18 00:36:41
質問

なんでhtml内のうめこみスクリプトってjavascriptのみなの?
pythonとかjavaとかの文法がつかえれば便利だと思うんだけど
javascriptだけはなぜか不動の位置にあるのな。
たしかに、RailsとかPHPとかでjavascriptを動的に生成すればいいんだけど
それならRubyとかPHPの文法でいいじゃん、なんでjavascriptっていう違う言語に変換してるのか
よくわからん。

679:Name_Not_Found
10/04/18 01:02:23
ブラウザの歴史的ないきさつもあるし、実行環境で用意されてる関数がWeb向きということもあるし、
文法的なことを言えばプロトタイプベースの言語だからページ構造の変化に強く自由度が高くて便利。

680:Name_Not_Found
10/04/18 01:05:55
>>679
> 文法的なことを言えばプロトタイプベースの言語だからページ構造の変化に強く自由度が高くて便利。
他の言語つかったことないな?それとも信者?
そうじゃないというなら他の言語との比較をしてみてよ。C#やRubyやLispに比べて具体的にどのへんが自由度が高くてページ構造の変化に強いのか。

681:Name_Not_Found
10/04/18 01:08:20
Lispは使ったことないが、C#, Rubyは経験あるな。
まずプロトタイプベースの利点を理解した上で文句をつけてるのか、
理解せずにただ持ち上げてるというだけで信者扱いしてるのか白状しる。

682:Name_Not_Found
10/04/18 01:13:33
>>681
しらねーよwwそんなの。理解してません。てか、そんなの知らなくてもそれなりのシステムは組めてるからな。
たぶん説明されれば、わかるけど。

さあ、白状してやったから、
C#やRubyやLispに比べて具体的にどのへんが自由度が高くてページ構造の変化に強いのかいってみなさい。

683:Name_Not_Found
10/04/18 01:27:04
自由度が高すぎると困る
終わり

684:Name_Not_Found
10/04/18 01:38:30
VBScript「呼んだ?」

685:Name_Not_Found
10/04/18 01:39:59
なんでHTTPでなんでHTMLでなんでFlashなのかって言われても返答に困るようなもんだよなぁ
デファクトスタンダードって強いよね

686:Name_Not_Found
10/04/18 01:40:09
>>678
何かのフォームをイベント処理できるソフトを既存のRubyやPHPで書ける?
セキュアを完全保証できるという前提で

687:Name_Not_Found
10/04/18 01:50:28
>>685でFAだなあ。
あと文法と実行方式とを混同してるアホはちょっと頭冷やした方がいいと思うよ。
サンドボックスって言葉ぐらい知っててもいいと思う。

688:Name_Not_Found
10/04/18 01:51:23
言語仕様とオブジェクトライブラリは分けて語った方がいいぞ

689:Name_Not_Found
10/04/18 01:57:33
IEならレジストリいじって好きなエンジン呼べるはず
ActivePerl入れればtext/perlscript使えるんじゃなかったっけ

690:Name_Not_Found
10/04/18 02:06:07 jwQx4DTv
>>678
歴史的問題だと思う

ただ最近 <script type="text/hoge"> として俺言語を記述できるようにするハックを見た記憶がある

691:Name_Not_Found
10/04/18 03:25:34
URLリンク(d.hatena.ne.jp)

692:Name_Not_Found
10/04/18 10:22:02
>>682
>たぶん説明されれば、わかるけど。
ダウト。

693:Name_Not_Found
10/04/18 12:37:56
>>692
言語そのものに対する盲目的な信仰を告白するのは
よっぽどの人が言うんでもなけりゃ痛いだけだからやめとけ

694:Name_Not_Found
10/04/18 14:16:33
言語を単純な優劣でしか考えられない人がいるけどスルーで
Webクライアントに向いてるかという話題なのに

695:Name_Not_Found
10/04/18 17:30:21
>>693
信仰?
説明されても判らない程に頭が悪そうだ、って話だ。
言わせんな恥ずかしい。

696:Name_Not_Found
10/04/18 18:04:55
VBScript を盛り上げて行こうz

697:Name_Not_Found
10/04/18 19:54:59
お断りします

698:Name_Not_Found
10/04/18 20:52:09
C 系の言語ばかり使っていたら、考え方が偏っちゃうyo!

699:Name_Not_Found
10/04/19 01:42:03
真理に近づきたくばschemeをやるべし

700:Name_Not_Found
10/04/19 01:52:49
>真理に近づきたくば
いや別に

701:Name_Not_Found
10/04/19 02:24:02
真理タンにお近づきになりたいです!><

702:Name_Not_Found
10/04/19 21:18:23 KtV22HpC
質問です
万年カレンダーを作っているのですが当月は表示できても
前月と次月がうまく表示できません
ひと月だけなら前月も次月も表示できるのですがひと月しか
できず止まってしまいます
どうかご教授お願いします
ソースは省略してますがこんな感じです

monstr = new Array("1月","2月","3月","4月"…);
yostr = new Array("日", "月", "火", "水", "木", "金", "土");
maxday = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
var now = new Date();
var today = now.getDate();
var cy, cm;

view_cal(0, 0);

function view_cal(year, month) {

var nDate = new Date();
cy = (!year)? nDate.getFullYear(): year; // 表示年
cm = (!month)? nDate.getMonth(): month; // 表示月
nDate.setFullYear(cy);
nDate.setMonth(cm);
nDate.setDate(1);
var yo1 = nDate.getDay();
var daycnt = 1;
var moncnt = 0;
var flag = 0;
get_cal = "";

703:Name_Not_Found
10/04/19 21:20:00 KtV22HpC
// 月欄
get_cal +="<p><span id=\"pmon\">←</span>" + monstr[cm]
+ cy + "<span id=\"nmon\">→</span></p>";
// 曜日欄
get_cal +="<table id=\"skejul\"><tr>";
for (i = 0; i < 7; i++) {
if (i == 0) { get_cal +="<td>";
} else if (i == 6) { get_cal +="<td>";
} else { get_cal +="<td>"; }
get_cal +=yostr[i];
get_cal +="</td>";
}
get_cal +="</tr>";
// 日付欄
while (flag < 2) {
get_cal +="<tr>";
for (i = 0; i < 7; i++) {
get_cal +="<td";
if (flag == 0 && yo1 == i) { flag = 1; }
if (flag == 1) {
if (daycnt == today) {
get_cal +=" " + "id=\"tod\""; // 本日の背景設定
}
}
get_cal +=">" + daycnt; }
if (daycnt++ >= maxday[cm]) { flag = 2; } // 最終日
get_cal +="</td>";
}
get_cal +="</tr>";
}
get_cal +="</table>";

704:Name_Not_Found
10/04/19 21:22:34 KtV22HpC
//出力
document.getElementById("calendar").innerHTML = get_cal;
}
document.getElementById("pmon").onclick = SetPrevMonth;
document.getElementById("nmon").onclick = SetNextMonth;
// 前月の表示
function SetPrevMonth() {
if (cm == 1) { cm = 12;
cy--;
 } else { cm--; }
view_cal(cy, cm); }
// 翌月の表示
function SetNextMonth() {
 if (cm == 12) { cm = 1;
cy++;
} else { cm++; }
view_cal(cy, cm); }

705:Name_Not_Found
10/04/19 21:58:12
他にも色々問題はありそうだけど、動かない理由は、
ハンドラを定義した id を持つ要素を view_cal 関数内で
毎回 innerHTML で書き換えているから。

706:Name_Not_Found
10/04/19 22:07:43 KtV22HpC
>>705
ありがとうございます
IDのpmonとnmonを関数の外に出して試してみます


707:Name_Not_Found
10/04/19 22:16:43
>>706
レスに貼られてるコードだと閉じブレース { が一個多い気がする。

SetPrevMonth、SetNextMonth 内で年またぎの判定を直す必要がある。
(getMonth() の返す値は 0 から 11)

そうすると view_cal 関数内で以下の修正が必要。

cy = (!year)?... -> cy = (year === undefined)?...
cm = (!month)?... -> cm = (month === undefined)?...

そうすると最初の呼び出しは view_cal(0, 0) でなく view_cal() にするとか。

あと、閏年は?
まぁ、設計から見直した方が良いよ。

708:Name_Not_Found
10/04/19 22:17:52
閉じブレースは } だった。

709:Name_Not_Found
10/04/19 22:40:50
正直カレンダーみたいな汎用スクリプトは
ググレば腐るほど出てくるよね・・・

710:Name_Not_Found
10/04/19 23:08:13
LightBox的などを開くと「image 1 of 10」って出るじゃないですか
ソースで記述した順に1of10、2of10ってなって1番下層にあるimageが10of10になります
これを1番上のものを10of10、1番下のものを1of10と逆にしたいのですがなにかいい方法ありませんか?
現在は current: "image {current} of {total}", となっています

711:Name_Not_Found
10/04/19 23:09:34
ああ、月末日なんて次月の0日にセットすれば分かるのに
意地でも自力で閏年計算するやつばっかりな
何なんだアレ

712:702
10/04/20 00:00:45
>>707
ありがとうございます
かなり改善されて年またぎのところもうまく動作するようになりました
感動しています
本当にありがとうございます
あとはおっしゃる通りうるう年のところだけの問題となりました
自分の勉強のためにカレンダーを作成してたのですが
ググっても万年に関してはけっこう強引なスクリプトばかり出てきまして…
当月のみのカレンダーなら良いのがいっぱいあったのですが
とにかく感謝しております
ありがとうございました


713:Name_Not_Found
10/04/20 00:19:06
>>711
それは仕様? 実装依存?

714:Name_Not_Found
10/04/20 00:19:51
実装依存でしょうねえ

715:Name_Not_Found
10/04/20 00:41:49
仕様だよ
つーか仕様も読まずに実装依存とか抜かすアホが多すぎるだろ

716:702
10/04/20 00:55:04
>>711
ありがとうございます
そのヒントで閏年も解決できました
非常に助かりました
計算するよりかは多少記述量も減るし楽でした

717:Name_Not_Found
10/04/20 01:51:05
setDate() はインスタンスの保持している年と月の値を使って
その月の初日の(基準日からの経過日数)を取得し、
そこに引数の日を加算し、日付を再計算し直す。
だから負の数でも32以上を与えても問題ない。

気をつける必要があるのは月。
12以上の値は問題ないが負の数については実装依存。
理由についてはECMA Script仕様書のMakeDay関数を参照。
(月) = (引数の月) % 12 のような計算はしていても
それを0以上に正規化するような処理は入っていないので、
カレンダー上で本当に「マイナス1月」を探して失敗することになる。
setMonth(-1) とかやってエラーにならないのは仕様書から外れてる。

718:Name_Not_Found
10/04/20 02:20:30
5.2節によりm modulo 12の結果が0または正であることは保証されてるから
月に負数を与えてもまったく問題ないだろ

719:Name_Not_Found
10/04/20 02:54:28
Dateの使い方を知らずに無駄計算している奴が多すぎ
どこぞの有名解説サイトからしてそうなんだが

720:Name_Not_Found
10/04/20 09:28:51
暇だったら解説してくれんかね?

721:Name_Not_Found
10/04/20 09:58:18
Jqueryで質問させてください。

<div id="newForm"><div class="input text"><input name="text" type="text" /></div></div>

Addボタンを押すと、上記のようなテキストフィールドが追加されます。
これを、下から順に消したいです。


$('#remove').click(function() {
var newForm = $('#newForm');
newForm.remove();
});

このようにしたのですが、下からではなく、上から消されてしまいます。

var newForm = $('#newForm').last();
など、いろいろな部分にlast()を使っても、divが残ったり上手く動かないです。

なにかよい方法はないでしょうか?

722:Name_Not_Found
10/04/20 10:09:49
>>711
おぉ、そんなんできるんだ。と思って試してみたら、
>>> new Date(2010, 4, 0)
Fri Apr 30 2010 00:00:00 GMT+0900 {}

その月の最終日がになってしまった。やり方が違う?

>>715
Dateの仕様読んだ事ないので読みたいんだけど、ECMA-262のことであってる?

723:Name_Not_Found
10/04/20 10:12:29
>>721
id="remove"の要素はどこにあるんだって言うのと、
clickされた要素はthisで取得できるからfunctionの中の1行目がムダなのと、
つっこみどころが満載です。
もうちょっと情報出してください。

724:Name_Not_Found
10/04/20 10:22:08
>>722
合ってる様に見えるけど、どう変?

725:Name_Not_Found
10/04/20 10:23:32
>>722
老婆心ながら、月は0~11ね。
5月0日→4月最終日だから、合ってる様に見える。

726:Name_Not_Found
10/04/20 10:23:55
>次月の0日にセット

727:721
10/04/20 10:32:04
>>723

レスありがとうございます!

失礼しました。 コードはこちらです。
URLリンク(files.uploadr.net)

cakeのコードなのでちょっと分かりづらいかもしれません。

728:Name_Not_Found
10/04/20 10:41:45
>>725
あぁ!そうだった。月は0-11か。
最初
new Date('2010/04/00')
と実行して、Firefoxは上手くいったがChromeが上手くいかず、
「あ、引数の渡し方違うわ」
と直したせいでそのまま4入れてた。すみません。

729:Name_Not_Found
10/04/20 10:44:09
>>727
まさか画像がくるとは思わなかったわw斬新だな
せめてブラウザで見た結果のソースをキャプチャしろよ
というか、コピペして貼り付けなよ。

730:721
10/04/20 10:54:55
>>729

すいません。
ブラウザのソースは長くなって改行もごちゃちゃで、
コピペすると全部入らないのでこうなってしまいました。

ちゃんとブラウザの結果をわかりやすく表示するように次回から考えたいと思います。


いろいろいじっていると、 removeするエレメントがclassじゃなくてidになっていたのが原因でした。
とりあえずは上手くいきました!

ありがとうございました!


$('#remove').click(function() {
var newForm = $('.newForm').last();
newForm.remove();
});

731:Name_Not_Found
10/04/20 12:22:22
Jqueryで質問させてください。

<div class="container">
<div class="form"><input type=text name="name"></div>
<div class="form"><input type=text name="name"></div>
<div class="form"><input type=text name="name"></div>
</div>

上記のformクラスを下から消していくには、

$('.form').last().remove();

といったコードでできますが、

formクラスを全部消さずに、最後の一つだけ残すような設定はできるでしょうか?

例えば、下記のような状態になるとremoveできなくなるような。

<div class="container">
<div class="form"><input type=text name="name"></div>
</div>

732:Name_Not_Found
10/04/20 12:49:00
>>731
if ($('.form').children().length > 1) $('.form').last().remove();

733:Name_Not_Found
10/04/20 13:02:25
まずJqueryって書くのやめろ

734:731
10/04/20 13:06:05
>>732

ありがとうございます!

>>733

申し訳ないっす!

735:Name_Not_Found
10/04/21 02:30:28
div.container > div.form:not(:last-of-type)

736:Name_Not_Found
10/04/21 09:16:01
>>735
それIEで動かなくね?

737:Name_Not_Found
10/04/21 09:46:57
jQueryなのに?

732みたいなのをよく見るけど
$('.form')をquerySelectorないしgetElementsByClassNameに置き換えてみろ
何回同じメソッドを走らせてんだよ
ましてIE7を気にするのならそのたびにdocumentから探索し直してんだぜ

738:Name_Not_Found
10/04/21 10:55:49
大規模サイトや情報量(≒ノード数)が多い文書なんかで >>732 みたいなことやられると、IEじゃなくてもモッサリするよね

jQuery使うのもいいけど、最低限、計算量のことぐらい考えてほしい

739:736
10/04/21 11:21:10
>>737
CSS3使ったSelectorsはIEだと動かなかったはず。実際手元のIE6だと動いてない。
まぁでもIEは捨ててもいいと思うけど。

varで保持せずに毎回$('div.form')とかで何度も要素を取得するコードはウチの会社でもよく見るなぁ。

740:Name_Not_Found
10/04/21 11:51:19 9wyYmVIx
でもローカル変数で保持すると、クロージャーでメモリリークする可能性が高くなる。
上で出てたけど、jQueryは<script type="application/jquery">で別エンジンにしてほしいわ。

741:Name_Not_Found
10/04/21 13:19:02
先行実装使うなよ

742:Name_Not_Found
10/04/21 13:42:20
Selectors3はとっくに勧告候補だぞ
動作確認してないがjQuery 1.4のソースコードを眺めてみたら
:nth-childはサポートしているが:nth-of-typeはサポートしていないっぽい
jQueryのセレクタエンジンはいろいろ中途半端だから信頼できん

743:Name_Not_Found
10/04/21 13:48:57
jQuery自体がセレクタを独自拡張してるからなあ

744:Name_Not_Found
10/04/21 14:35:34
Lightbox 2.04にて拡大後の画像をクリックでも閉じるようにする
方法を教えてください。

745:Name_Not_Found
10/04/21 14:40:35
Lightbox(笑)

746:Name_Not_Found
10/04/21 14:56:26
Lightboxの機能くらい自分で作れ

747:Name_Not_Found
10/04/21 17:58:41
uupaa.js使おうよ

748:Name_Not_Found
10/04/21 20:12:45
uupaaはハックの塊なのと設計が汚いのとで常用するのが怖い

749:Name_Not_Found
10/04/21 20:30:25
>>748
意味が判らん。
プログラムはハックの塊でしょ、フツーに。

750:Name_Not_Found
10/04/21 20:38:07
ふーん

751:Name_Not_Found
10/04/21 20:40:55
美しいプログラムはハックなどしない

752:Name_Not_Found
10/04/21 20:44:11
だがファックはする

753:Name_Not_Found
10/04/21 21:16:52
>>751
ちゃうちゃう。
プログラマがプログラムをハックする。

754:Name_Not_Found
10/04/21 21:18:09
意味わからん

755:Name_Not_Found
10/04/21 21:22:56
のでタップした

756:Name_Not_Found
10/04/21 22:41:13
>>740
IEのメモリリークなら3年ほど前の自動更新で修正されたけど。
可能性ってどういう意味?
未修正のリークパターンがあるなら教えてほしい

757:Name_Not_Found
10/04/21 22:56:18
クロージャで値への参照が残ってしまって一度作ったjQueryのオブジェクトが
ずっと消えずに残ってしまうって話じゃない?
ブラウザのバグの話ではなく、コード側の不具合のせいで起きるリーク。
Cでmallocしたのにfreeを忘れる系の。

758:Name_Not_Found
10/04/21 22:57:27
>>756
WebKitでも去年同じ問題が指摘されて修正されたよ
GeckoもWebKitもうまいハックで回避しているけど
GC機構に由来する何気に根本的な問題
IE7の修正は中途半端でIE8なら大丈夫

759:Name_Not_Found
10/04/21 23:00:54
JavaScriptのReferenceにもクロージャは可能な限り使うなって書いてあるな

760:Name_Not_Found
10/04/22 00:10:09
javascriptでレスポンスの文字列を取得しようと思い
iframeをターゲット指定し、POSTしたレスポンスを
判定しようと考えたのだけどうまくいかない
誰か良いやりかたしりませんか?

■実現したいこと
サーバが落ちてる時などに返却される文字列
をブラウザ上に表示させず、レスポンス内容を見て
原因を表示したい
■考えたフロー
①iframeに対してターゲット指定を行う
②javascriptから指定のフォームデータをPOSTでサブミット
③ターゲット指定しているiframeのオブジェクトを生成し
 readyStateを判定 complet ならばtrue falseなら 再帰的にもう一度呼び出す
④返却されたレスポンスに含まれる特定タグ(body等)オブジェクトを取得する。
 ※期待した戻り値は、指定したタグの要素数分の長さを持つオブジェクト配列
  結果は、.lengthが0で何も取得できなかった


761:Name_Not_Found
10/04/22 00:19:26
XMLHttpRequestというじゃだめなのか?
正常表示できたときには'iframe'で表示させたいってのなら駄目だが、divとかの中に結果突っ込むなら出来るぞ。

762:Name_Not_Found
10/04/22 00:49:41
エスパーすると外部鯖から取得したいんだと思う

763:Name_Not_Found
10/04/22 01:39:06
Dojo Toolkitについて勉強したいのですが
おすすめの本とかサイトあれば教えてください

764:Name_Not_Found
10/04/22 01:59:12
google

765:Name_Not_Found
10/04/22 03:27:03 YrKUvYka
>>762
便乗質問です。
<script type=“text/javascript“ src=“API“></script>
って書いて別鯖のAPIから情報取り出すとき、
script要素のロード完了ってわかるものですかね?

766:Name_Not_Found
10/04/22 04:50:15
script要素のロードが完了するまで
レンダリングも何もかも止まるんだが何か。

767:Name_Not_Found
10/04/22 16:32:30 gqy/b/W5
>>766
つまり、A.jsに
var n = 1;

って書いてあったとして、B.jsで
document.write("<script type='text/javascript' src=A.js''></script>");

って書いたら、何も考えずにnは定義済みと考えて良いってことですか?

768:Name_Not_Found
10/04/22 17:11:46 iHFlyciF
>>767
自分で試せや

769:Name_Not_Found
10/04/22 18:01:40 gqy/b/W5
>>768
うん試してます。
で、一見問題ないようなんだけど、もしかしてロードに時間が
かかったりすると問題あるのかなーと。

あ、>>766のは例えば、ブログのページを開いてから暫く動かなく
なるのが多いのも、広告やブログパーツの為に書かれた<script>待ち、
ってこと、かな?

770:Name_Not_Found
10/04/22 20:41:02
そういうこと
だからhead内に外部スクリプトを5個も6個も並べるとパフォーマンス最悪

771:Name_Not_Found
10/04/22 22:46:22
質問です。厳密にはHTMLの問題ですが、JavaScriptでの取得の問題なの
でここでお聞きします。optionを使ったコンボボックスでoption属性に
value値は必須なのでしょうか。よろしくお願いします。

772:Name_Not_Found
10/04/22 23:07:49
はい、次

773:Name_Not_Found
10/04/22 23:30:08
optionを使ったコンボボックスでoption属性に
value値は必須なのでしょうか。よろしくお願いします。

774:Name_Not_Found
10/04/22 23:47:46 1xOh/vLE
>>773
お前はMySQLのデータをSQL文で取得するけどJAVAで実装してるからと
JAVAのスレで質問してるような物だ
つまりスレ違い

つーか、そんくらいの事試せば直ぐ分かるだろうに…
ここに書く暇があるなら試す時間あるだろ

775:Name_Not_Found
10/04/22 23:58:55
殿方に「お前」って呼ばれた///

776:Name_Not_Found
10/04/23 00:14:11
>>773
省略すると<option>~</option>の間の文字列がvalueとして採用されるはず。
value, selectedIndexともに正常動作する。
submitしても正しく値は送られる。

>>774
なくても表示は全く問題なくできることは明らかでも、
選択された要素をJavaScriptで取得しようとしたときに
(規格として)何が起こることになっているのか、という話が聞きたいんでしょ?
的外れすぎるし比喩にすらなってない。

777:Name_Not_Found
10/04/23 00:15:03
調べればわかることは答えない

778:Name_Not_Found
10/04/23 01:19:39
>>776
正しいが現実的には「IE6でJSが正常動作しなくて良いなら」という条件がつく。

779:Name_Not_Found
10/04/23 01:41:11
IE6なんて都市伝説

780:Name_Not_Found
10/04/23 02:00:45
都市伝説と職場で毎日にらめっこしてる俺の立場は

781:Name_Not_Found
10/04/23 02:12:01
お前が都市伝説

782:Name_Not_Found
10/04/23 02:17:47
オライリーたんのリファレンス買おうと思ったら、
間違って絵がいっぱい書いてある方を買ってしまった。
おっぱい。

783:Name_Not_Found
10/04/23 03:58:01 RylGCLVm
>>770
ありがとう。
遅くなってすまんです。
やっと残業終わって帰ってきた~

784:仕様書無しさん
10/04/23 10:11:29
rec(document.images["gazou"],"click",changes);

function changes(e)
{
var event=e?e:window.event;
var target=event.target?event.target:event.srcElement;
target.src=target.src="c.jpg"?"c.jpg":"pics.png";
}

<img name="gazou" src="aaa" />
ってやって画像をクリックするたびに 1、2、1、2... と交互に出したいのですが
1、2で止まってしまいます 2のあと画像をクリックしても1にならず
どうやるかおしえて!クソ

785:仕様書無しさん
10/04/23 10:12:56
target.src=target.src="c.jpg"?"pics.png":"c.jpg";
だった解決法方法教えてクソ!

786:Name_Not_Found
10/04/23 10:15:26
初歩的ミスだろバーカ!

787:仕様書無しさん
10/04/23 10:17:33
はやくおしえろクソ
どうやってやるか教えてクソ

788:Name_Not_Found
10/04/23 10:18:44
>>787
>>786

789:仕様書無しさん
10/04/23 10:22:55
今マイクロソフトのHPをjavascriptで作成してるんです
だから早く教えてください

790:Name_Not_Found
10/04/23 10:24:33
イク!イクぅ!!

791:Name_Not_Found
10/04/23 10:27:57
ビクン、ビクン。

イク!イクっ!イクぅぅぅう!

792:仕様書無しさん
10/04/23 10:35:04
function changes(e){ var imgs=document.images["sss"]; imgs.src=imgs.src="pics.png"?"c.jpg":"pics.png";}
<img name="sss" src="pics.png" onclick="javascript:changes()">
画像1回しか入れ替わらないんです
クリックするたびに交互に入れ替わるようにしたいんです教えてください。

793:Name_Not_Found
10/04/23 10:44:39
挿れたらダメっ!イクっ!イクぅ!

794:仕様書無しさん
10/04/23 10:52:00
自己解決できた
クソガリどもはjavascriptヤッテしね
頭わいてるなここのごみすれ

795:Name_Not_Found
10/04/23 10:54:24
ASPの話ですが
C#の関数をjavaScriptのマウスイベントで呼び出すのって絶対無理?


796:Name_Not_Found
10/04/23 12:10:40
二行で矛盾できるとはやるな

797:Name_Not_Found
10/04/23 13:05:24
>>794
解決できたらその方法を示そうな。

798:Name_Not_Found
10/04/23 14:35:17
恥ずかしくて言えたもんじゃないだろ。


== を使うところで = を使ってるだけなんだから。
慣れてないなら、素直に if 文使えばいいのにな。

799:Name_Not_Found
10/04/23 15:30:43
>>794
2chなんてアホばっかりなんだからそれを理解して利用しなよ

800:Name_Not_Found
10/04/24 01:14:45
2ch で質問してる奴にそんなこと言ってどうすんだ。

801:Name_Not_Found
10/04/24 01:45:45
みんなまとめて爆発しろということ

802:Name_Not_Found
10/04/24 02:08:11
IE9でjavascriptのgetter、setterをサポートするかどうかわかる方いますか?

803:Name_Not_Found
10/04/24 05:42:36
はい

804:Name_Not_Found
10/04/24 22:23:27 qIAH5s2f
見える!私には見えるぞ!

805:Name_Not_Found
10/04/24 22:28:27
ど、どこですか?それは!

806:Name_Not_Found
10/04/24 22:36:19
ニュータイプの方ですか?

まあIE9の普及なんて当分先の話だろ

IE9、Windows XPでは利用できず
URLリンク(www.itmedia.co.jp)
>IE9はWindows 7とVistaにしかない技術を活用するため、Windows XPでは動作しないという。

807:Name_Not_Found
10/04/24 23:23:36
クライアントサイドでなくてコアの機能なんだから、IE の場合、JScript エンジン次第でしょ。
IE9 入れなくても WSH とかをバージョンアップすれば JScript エンジンも新しくなったはずだし
次世代 JScript エンジンの機能は XP 使いにも関係してくると思う今日この頃。

808:仕様書無しさん
10/04/25 00:40:42
td=setInterval(bgcolor(255),100);

function bgcolor(color)
{
var hex=color.toString(16);
if(hex.length<2)
{
hex="0"+hex;
}
var colorstring="#FF"+hex+"FF";
var blocks=document.getElementById("colo");
blocks.style.backgroundColor=colorstring;
color-=3;
}

setIntervarlでbgcolor(255)の255を引数としいてbgcolorに渡してるんだけど
デクリメントされなくて背景色がかわらない
引数を保存しとくことはできないの?staticみたいに



次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch