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

このエントリーをはてなブックマークに追加
952Name_Not_Found:2009/11/29(日) 17:50:41 ID:???
べっ別に>>950に釣られたんじゃないんだからねっ///

<script type="text/javascript">
function sum55(){
 var sum = 0;
 for(var i = 1; i <= 10; i++){
  sum += i;
 }
 alert(sum);
}
</script>
<button type="button" onclick="sum55()">calc</button>

個人的な好みだが、onclickは書きたくなかった。
953Name_Not_Found:2009/11/29(日) 18:07:51 ID:???
んことを気にするぐらいならbuttonごとJSで構築するだろ
954Name_Not_Found:2009/11/29(日) 18:10:47 ID:???
>>953
>>924氏が課題でcreateElementとか書いてたら、先生は間違いなく疑うだろがww
955Name_Not_Found:2009/11/29(日) 19:31:40 ID:???
textとかimageファイルだと、<a href="○○.jpg">ダウンロード</a>
ってしたときに、ブラウザ側で表示してしまうことが多いと思うのですが、
どうにかして、javascriptで保存画面(右クリックファイルを保存するで出てくる画面)
を強制的に出すことはできないでしょうか?
よろしくお願いします。
956Name_Not_Found:2009/11/29(日) 19:34:22 ID:???
できますん
957Name_Not_Found:2009/11/29(日) 19:34:32 ID:???
日本語でおk
958Name_Not_Found:2009/11/29(日) 19:38:54 ID:???
>>955

header('Content-Length: '.file_exists("teeeeeeeeeeeest.txt"));
header('Content-Disposition: attachment; filename="wwwwww.txt"');
header('Content-Type: text/plain);
readfile("teeeeeeeeeeeest.txt")
959Name_Not_Found:2009/11/29(日) 20:48:00 ID:???
960Name_Not_Found:2009/11/29(日) 21:25:26 ID:???
createXMLHttpRequest1();
hyouji();
setTimeout('document.body.innerHTML = ""',5000);

hyouji();の後5秒して白紙ページにしてまたcreateXMLHttpRequest1();へと、、って感じで
ループさせる事できますか?
for(;;){
使ってみたのですが表示すらされない勢いで繰り返してしまうのですが
reload以外で何か方法無いでしょうか?
961Name_Not_Found:2009/11/29(日) 22:27:32 ID:???
5秒後にreloadする場合は<meta httpe-equiv=...>を使うんじゃないの。
JavaScript関係ないけど。
962Name_Not_Found:2009/11/29(日) 22:41:34 ID:???
>>961
いえreloadはしないでページを空にして、また
createXMLHttpRequest1();

hyouji();

ページを空白
と繰り返したいのです。
for(;;){ でやるとテキストが表示されないではなく、ページを空にできないの間違いでした。
これだとブラウザがいつか固まってしまいそうなんで・・・
空にした後にcreateXMLHttpRequest1へ戻るにはどうしたら良いでしょうか。
963924です。:2009/11/29(日) 23:01:17 ID:pmzIHy4G
教えてくださったみなさんありがとうございました☆
まだまだ道のり長いけどがんばりますー!!
964Name_Not_Found:2009/11/29(日) 23:34:48 ID:???
スレが過疎って皆が暇してるときにまた来れば良いよ。
965Name_Not_Found:2009/11/30(月) 04:15:44 ID:???
出遅れたけどマルチスレッドで

== w.htm ==
/*<!--*/
onmessage = function(event) {
  var n = event.data;
  if (n <= 1) {
    postMessage(n);
    return;
  }
  var w = new Worker('w.htm');
  w.onmessage = function(event) {
    postMessage(n + event.data);
  };
  w.postMessage(n - 1);
};
/*--><button onclick="w=Worker('w.htm');w.onmessage=function(event)alert(event.data);w.postMessage(100);">push</button>*/
== /w.htm ==

Worker の相対パスに "." (ドット) が使えないのはなんで?
966Name_Not_Found:2009/11/30(月) 08:48:59 ID:???
げげ、出かけていたらもう965ですか。今回テンプレ変更なし?
もし参考サイト追加希望あるなら、具体的なURLも含めて提案
してね。それで異論なければすんなり入れてもいいかも。
次スレは975超えたら。
967Name_Not_Found:2009/11/30(月) 11:16:45 ID:AjmlJgni
>>965
> Worker の相対パス

ってなんぞ?Workerに渡している引数のこと?
使えなくないよ?
968Name_Not_Found:2009/11/30(月) 13:25:21 ID:???
>>967
そうそう、Worker の引数に指定する URL に
相対パスとして自分自身を表すドットが使えないって言いたかった
Firefox だと エラー: Failed to load script: . (nsresult = 0x805303f4)
って怒られるよ。
969Name_Not_Found:2009/11/30(月) 16:16:48 ID:AjmlJgni
>>968
Worker()が何かわからないけど、手元のFx3.0系で、簡単なAjaxで試した。
XHR.Open()の引数に"."もしくは"./"を渡したら、そのディレクトリの
デフォルトファイル(index.html)が返ってきたよ。

ローカルで(htmlファイルをブラウザにドロップして)やってないか?
970Name_Not_Found:2009/11/30(月) 17:15:30 ID:???
>>968とは違う症状だけど、AS・JS連携のページでエラー出たことがあったなぁ。
アクセス権の問題と判って、それ以来開発はlocalhostでやるようにしてる。
971Name_Not_Found:2009/11/30(月) 18:12:32 ID:???
ファイルのパーミッションによってJavascriptで処理を振り分けることって出来ますか?
972Name_Not_Found:2009/11/30(月) 18:16:48 ID:AjmlJgni
>>971
レスポンスが403なら振り分け、なら。
973Name_Not_Found:2009/11/30(月) 22:06:14 ID:???
thickboxに関して質問です。

thickboxを閉じた際にある処理を行いたいのですが、
ある事情でthickbox.jsは触れないのですが、
別のjsでthickboxが閉じられたことを判定することは可能でしょうか?

当然、jQueryの使用もありです。
974Name_Not_Found:2009/12/01(火) 01:59:05 ID:???
>>973
thickboxの終了命令がtb_removeだから、同名で宣言して上書きしてみたらどうかな?
fadeOutにコールバックを付けるなり、直接関数をコールするなり、何かグローバルのフラグを立てるなり。
975Name_Not_Found:2009/12/01(火) 10:02:54 ID:???
>>969-970
すまん、相対 URL のこと勘違いしてただけだったわ
ドットは自分自身じゃなくて基準 URL を表すんだなw
976Name_Not_Found:2009/12/01(火) 10:24:14 ID:???
まだ勘違いしているな
977Name_Not_Found:2009/12/01(火) 10:52:51 ID:???
アコーディオンメニューを採用したページを作りたくて悩んでいます。
その際、アコーディオンメニューを左に縦カラムとして配置し、右側に内容がそれぞれ
違う別ページを作成し、メニューからそれぞれのページへリンクさせたいと考えています。
この時、"category1"をクリックし、ddのメニューが開閉されると同時に
別ページ(ソース例ではcontents_a.html)へリンクする事は可能なのでしょうか。

左側のアコーディオンメニューが入ったdiv"left_box"は、
dreamweaverのテンプレート機能を使い全ページ共通にしていますがメニューの開閉が動作しません。
動作の条件として、
・jqueryを使用したい。(jqueryの他のプラグインを使用しているので、誤作動を避けるため)
・dtをクリックすることでddの内容の開閉が自由にできる。この時、クリックしていない別のdt下のddは自動的にたたまれる。

よろしくお願いします。


978977:2009/12/01(火) 10:55:43 ID:???
■下記htmlソース例■
<div id="left_box">
<dt><a href="contents_a.html">category1</a></dt>
<dd>
<ul>
<li><a href="contents_a01.html">menu 1-1</a></li>
<li><a href="contents_a02.html">menu 1-2</a></li>
<li><a href="contents_a03.html">menu 1-3</a></li>
</ul>
</dd>
<dt><a href="contents_b.html">category2</a></dt>
<dd>
<ul>
<li><a href="contents_b01.html">menu 2-1</a></li>
<li><a href="contents_b02.html">menu 2-2</a></li>
<li><a href="contents_b03.html">menu 2-3</a></li>
</ul>
</dd>
</div>
<div id="right_box">
コンテンツ内容
</div>
979977:2009/12/01(火) 10:57:46 ID:???
■css例■
#left_box{
width:200px;
float:left;
}
#right_box{
width:500px;
float:left;
}

■javascript例(jqueryを使用しています)■
$(function(){
var dd = $('dd','#left_box');
dd.hide();

$('dt','#left_box').click(function(){
var next = $(this).next();
dd.not(next).slideUp();
if(next.is(':visible')){
next.slideUp();
}else{
next.slideDown();
}
});
});
980Name_Not_Found:2009/12/01(火) 12:39:25 ID:???
981Name_Not_Found:2009/12/01(火) 13:12:41 ID:kNgtWQkI
function hello() {
hello = "こんにちは";
return hello;
}

定義関数の名前(hello)と、その定義関数内に作った変数の名前(hello)が被ったらまずいでしょうか?
982Name_Not_Found:2009/12/01(火) 13:17:19 ID:???
>>981
varをつけないと「内に作った」ではなくグローバル変数になるから
まずいと思うな。
983Name_Not_Found:2009/12/01(火) 14:45:36 ID:???
>>981
ローカルにせよグローバルにせよ結局問題が付きまとう。
スコープチェーンとか調べてみるといいかも。
984Name_Not_Found:2009/12/01(火) 15:27:08 ID:???
質問です
pngのアルファを変更してフェードイン・アウトの処理を行っているのですが
IE7の場合、アルファを変更したとたん半透明の抜きがgifのように単色抜きに変わってしまうのですが
勝手にアルファチャンネルが変更されてしまうのを回避する上手い方法はないものでしょうか?
テスト用に書いたソースを貼ります

<img id="testimg" src="hoge.png">
<script type="text/javascript">
 function alphaTest( alpha){
  obj = document.getElementById( "testimg");
  obj.style.filter = "alpha(opacity="+ alpha +")";
 }
</script>
<button onclick="alphaTest( 100);">画像不透明</button>
<button onclick="alphaTest( 50);">画像半透明</button>
<button onclick="alphaTest( 0);">画像透明</button>

よろしくお願いします。
985Name_Not_Found:2009/12/01(火) 15:36:57 ID:???
986Name_Not_Found:2009/12/01(火) 17:32:11 ID:???
>>984
IEのpngがおかしいのは仕様じゃなかったかな?
AlphaImageLoaderで出来るらしいけど、こっちでテストしてもなんかうまくいかなかった。
後は誰か任せた。
987Name_Not_Found:2009/12/01(火) 17:52:04 ID:4YWjthRa
正規表現で半角英数時とハイフンを書くときに[a-zA-Z0-9-]で合ってますでしょうか?
ググって出てきたサイトによってはハイフンを\でエスケープしているのも見ます[a-zA-Z0-9\-.]
javascriptではどちらが正しいのでしょうか?
988Name_Not_Found:2009/12/01(火) 17:58:33 ID:adkCyzKU
>>986
ああ、alphaImageLoaderのことは自分も知りたい。
alphaImageLoaderで貼った50%の透過pngを
filterでopacity=0にしてからopacity=100にすると、
透過度がなくなってしまう気がする。
989Name_Not_Found:2009/12/01(火) 19:32:18 ID:???
>>987
実際にコード書いて試せ…それが一番早い

-は[]内だとメタ文字
990Name_Not_Found:2009/12/01(火) 19:46:06 ID:???
Firefox3.5ではどっちも動いてしまいます
IE8だと\-と書かないと動きませんでした
991Name_Not_Found:2009/12/01(火) 20:18:11 ID:???
[]の中では、-は先頭に書けばエスケープ不要。
…だったっけ? それとも末尾?
992Name_Not_Found:2009/12/01(火) 20:31:56 ID:???
先頭だろが
993Name_Not_Found:2009/12/01(火) 20:43:48 ID:???
じゃあ[-0-9A-Za-z]で決まりか。
994Name_Not_Found:2009/12/01(火) 21:02:44 ID:???
995Name_Not_Found:2009/12/01(火) 21:08:55 ID:???
うめ
996Name_Not_Found:2009/12/01(火) 23:46:47 ID:???
おやすみ
997Name_Not_Found:2009/12/01(火) 23:50:01 ID:???
>>996
おやすみ。
998Name_Not_Found:2009/12/01(火) 23:55:40 ID:???
おやすみ
999Name_Not_Found:2009/12/01(火) 23:58:57 ID:???
999
1000Name_Not_Found:2009/12/01(火) 23:59:38 ID:???
このスレは1000の風になりました
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。