1 :
◆.PT9876/4U :
2008/03/19(水) 19:28:49 ID:DQDL/Vfc ・丸投げ上等 !
テンプレくらい作れよww
3 :
◆.PT9876/4U :2008/03/19(水) 19:43:50 ID:DQDL/Vfc
>>2 "JavaScript 質問スレッド" が しばしば荒れる原因を作ってるのが "テンプレ" かと.
(´・ω・´・ω・ω・`)知らんがなトリオ
(´・ω・ω・ω・`)
JavaScriptで画面上の「なにか」をクリックしたときって どうやってやるんですか? クリックイベントの拾い方を教えてください。
>>6 その質問の仕方だと
1、クリックされた「なにか」が何であるかや、位置情報など取得したい
2、「なにか」がクリックされた時、処理を行いたい
のどちらなのかわからない
まぁ後者だと思うけど、後者ならonClickでいいんじゃね?
例えば<input>をクリックした時なら
<input onClick="javascript: alert('クリックすんな!')";>みたいな
8 :
◆.PT9876/4U :2008/03/20(木) 16:43:25 ID:OS6RAZXM
>>6 さっそくの質問, ありがとん.
でも, もうちょっと具体的な質問に してくれないかな ?
ここでは一切の制約がないため, 質問者の理解度も不明なんだ.
(相手の理解度に合わせた回答がベストと考えます)
>クリックイベントの拾い方を教えてください
event handler については解ってるのかな ?
こんばんわHP製作初心者すれで誘導されてきました gifアニメを表示させて10秒くらいでそのgifを書き換えて他の静止画像にするか バックに溶け込むように消したいのですが 何もわからないのでHTMLで下記の様にgifアニメを表示させたのですが 消し方がわからなくて困ってます <TR> <TD><IMG SRC="welcome.gif" WIDTH="468" HEIGHT="180"></TD> </TR> それで初心者スレで質問させていただいたら Jabvaスクリプトで出来ることを教えてくれました お手数をお掛けして恐縮ですが どなたかよろしくお願い致します 今はHPを立ち上げる前で自宅のPCで勉強しています gifもhtmlファイルもともにC:\www\tesに置いています どうぞよろしくお願い致しますm(__)m
>>9 その1、CSS使わないパターン
<head>
<script type="text/javascript">
<!--
function chImage(){
document.getElementById("chimage").src = "";
document.getElementById("chimage").width = "0";
document.getElementById("chimage").height = "0";
clearTimeout(chtimer);
}
-->
</script>
</head>
<body onLoad="chtimer=setTimeout('chImage()',10000)">
<img src="welcome.gif" id="chimage" alt="" width="468" height="180">
</body>
これでも一応消せるけど、ブラウザによっては1pxくらい残ったりする
透過された代替画像を用意しておいて、
function chImage(){
document.getElementById("chimage").src = "画像のパス";
clearTimeout(chtimer);
}
とした方が良いかも
その2、CSS使うパターン <head> <script type="text/javascript"> <!-- function chImage(){ document.getElementById("chimage").style = "display:none;"; clearTimeout(chtimer); } --> </script> </head> <body onLoad="chtimer=setTimeout('chImage()',10000)"> <img src="welcome.gif" id="chimage" alt="" width="468" height="180"> </body> レイアウト的にその画像がないと困る(表示が崩れたりする)なら document.getElementById("chimage").style を display:none ではなく visibility:hidden; とすればok ってなんか手取り足取りというより丸投げなんだけど、こういう回答でもいいのかな…?
>>10-
>>11 さん
9です
ご丁寧に教えていただき本当にありがとうございまいた
教えて頂いたスクリプトは大切に使わせていただきます
ググッテみてもgifアニメの製作や貼り付け方はたくさんあるのですが
削除や書き換え方法は初心者で理解できるようなサイトはなかったです
ここに記載していただいたサンプルは後進の方にきっと役立つはずです
お疲れのところ本当にありがとうございました
連書きすいません
>>10-11 さん
9です
できました!
Css使わない方法でやってみたのですが
見事に綺麗になりました
見た瞬間「あっ!」てマジで声でました^^;
嬉しかったので結果報告させていただこうと思いまた来ました
10さん本当にありがとうございました!
14 :
◆.PT9876/4U :2008/03/27(木) 07:36:11 ID:8CIJzgkI
15 :
Name_Not_Found :2008/03/27(木) 13:05:41 ID:O8EQSpZh
16 :
◆.PT9876/4U :2008/03/27(木) 16:40:19 ID:KvEX1W1J
>>15 ようこそここへ !
>JavaScriptやcgi等でよい手はありますでしょうか??
通常は JavaScript で十分でしょう.
特別な事情がない限り...
って訳でサンプル制作に取り掛かります.
(なにせ, 一年間のブランクがあるので 慎重を期して...)
XMLとXSLファイルを読み込んでページを表示させるというものを作っているのですが、 var httpxml = new XMLHttpRequest(); httpxml.open("GET",xmlfile,true); ... の二行目のところでアクセスが拒否されました。というエラーが出てしまいます。 参考書やサイトを見てもほぼ同じなのですが、改善するにはどこを触る必要があるのか教えていただけますか? IE7で確認しました。
18 :
◆.PT9876/4U :2008/03/27(木) 18:11:09 ID:KvEX1W1J
>>17 Mozilla 系 と IE (6) では記述が異なります.
なので, 通常は UA 振り分けが必要となります.
(IE7 では XMLHttpRequest をサポートしたそうですが,
web 標準無視なのは相変わらず だとか...) <- 残念ながら僕には確認不可能です.
なぜなら ぼくは相変わらず MacOS9.1 を使い続けているため,
IE7 は動作しないからです
なお, (Mozilla 系での)記述に間違いはなさそうなので,
怪しいのは "xmlfile" の path では なかろうかと.
20 :
◆.PT9876/4U :2008/03/27(木) 19:15:55 ID:KvEX1W1J
>15 サンプル書こうとしました. が, "画像もしくはページを" と言うのでは目標がはっきりしません. それと, (変化の区切りが)曜日単位なので確認には一週間掛ることになります. >例えば、↓のJavaScriptを また, option が増えてしまいました. さて, 私はどうすれば良いのでしょう ? 1. 画像を切り替える script の説明. 2. いきなりページジャンプさせる script を書く (うげげ) 3.ページ内の一部に曜日ごとの内容を反映させる script を書く. 4."犬でも解る" という ふざけたサイトの script の改造. 念のためですが, 決して煽ったりしようとする意図はありません.
21 :
◆.PT9876/4U :2008/03/27(木) 19:43:20 ID:KvEX1W1J
>>15 念のため...
dt=new Date; //dt:date object
wk=dt.getDay(); //wk:week value
とすれば 0<=wk<=6 の値が得られ,
wk=0 の時が日曜日.
これだけで script を書ける人もいるけど,
そんな人は そもそも ここを頼って来ないだろうなぁ...
まぁ何にせよやりたい事がはっきりしてないとどうにもこうにもだよね 参照先のスクリプトも「曜日によって異なる処理をさせる」ってだけじゃないし 「読み込んだ時点で曜日別の処理を行い、かつ日付が変わったら自動的に再度処理を行う」 っていうのをやりたいなら、phpでは無理
23 :
Name_Not_Found :2008/03/28(金) 00:51:21 ID:qTQmBBYD
window.openで別ウインドウ開いた時になぜか右よせになって半分切れてるんですけど何ででしょうか? 原因が見つかりません
24 :
23 :2008/03/28(金) 01:17:06 ID:qTQmBBYD
すいません 自己解決しました
25 :
15 :2008/03/28(金) 08:49:42 ID:Q9Bs2Hzy
◆.PT9876/4U>>さん、ありがとうございます。
、、説明不足ですみませんでした。
ページの中に画像を何枚か並べて表示させて、
曜日ごとに違う画像を何枚かならべて、曜日が変われば入れ変わるページが作りたいのです
例えば、
http://www.a-mone.com/shop/schedules.php [ 2008-03-28 ] の出勤予定 のようなページを作成せるにはどうしたらよいでしょうか?
欲をいえば、携帯から画像の更新ができればベストなのですが…
26 :
◆.PT9876/4U :2008/03/28(金) 12:14:38 ID:eHyZubUK
>>417 >ページの中に画像を何枚か並べて表示させて、
>曜日ごとに違う画像を何枚かならべて、
>曜日が変われば入れ変わるページが作りたいのです
ようするに週単位で(アクセスを受け付けた)画像を入れ換えたいのね ?
>[ 2008-03-28 ] の出勤予定 のようなページ
>欲をいえば、携帯から画像の更新
はて ? またまた目標が見えなくなりました.
あなた, なにか隠していませんか ?
(ここでの質問には一切の制限がありません.
ただし, 依頼者の願い通りの結果が得られるかどうかは 状況次第ですが...)
27 :
◆.PT9876/4U :2008/03/28(金) 12:27:27 ID:eHyZubUK
>>17 以前, 書いた Mozilla 専用 XMLHttpRequest 応用サンプルで動作確認してください:
homepage2.nifty.com/alter/samples/ajax/exam.html
(IE6 では動作しませんが, IE7 では どうなのかなぁ...) <- M$ の ことだから ???
・ Navigation 関連の修正には時間が掛ります.
dead link の発生については ご容赦を _(._.)_
ニコニコ動画みたくアクセスごとにバナーを変えるには どうしたらいいですか? 誘導されて来ました
29 :
◆.PT9876/4U :2008/03/28(金) 13:11:17 ID:eHyZubUK
>>28 以前作ったサンプルを提示するつもりでした.
が..., nifty では cookie の動作がぁ〜... 変 ? (?_?)
(local と xrea では きちんと動作するサンプルなのですが...)
>>26 私が言ってるのは、曜日ごとでなく
アクセスごとなんですが・・・
一応、確認しておきたいんですが アフィリエイトでアクセスごとにバナーが変わるようにするのは 違反じゃないですよね?
>>30 向こうでレスしようとしたときのアンカー(あなた宛てに見える)のまま、
こっちで
>>25 宛てのレス書かれてるぐらいは気にしない。
◆.PT9876/4Uの人は「相手:要件」のセットを把握できてる。
把握してるところにそういう指摘されると、急に誰がどの要件の人なのか混乱する人でもあるけど。
人違いが心配だったらメル欄に何も入れずにID出せばいいだけ。
あと、このスレで回答する人らはアフィ屋の規約に興味ないよ。
>>29 local と xrea では期待通りの動作、nifty ではあやしいとなると
食わせる domain / path の指定周りの確認、かな。
33 :
◆.PT9876/4U :2008/03/28(金) 15:42:48 ID:eHyZubUK
うっかり anchor miss!
>>32 follow ありがと.
去年は ほとんど放置状態だったので xrea を一旦解約.
そもそもは nifty の挙動不審の確認のために xrea と契約したので...
やっぱり再契約するべきかしらん ?
>>28 しかたないので元ネタのセットを zip 圧縮して upload しました:
homepage2.nifty.com/alter/sample.zip
(サイト全体の CSS, js も同梱) <- 修正している時間がないので 許されたし.
イメージ通りかどうか, (local で) 確認してください.
展開すると "imgrandom" という folder の中に
exam.html, exam.js というファイルがあり, これが本体です.
(cookie を利用しているので script は いささか複雑です)
"ここを修正してくれ" 要望があれば答えます.
34 :
◆.PT9876/4U :2008/03/28(金) 15:53:35 ID:eHyZubUK
@:TOPフォルダーの下の階層にHTMLファイルが10ファイルあります その10ファイルのタイトルだけを表示させるページを生成する A:TOPに現れている@で作ったページ内のタイトル部分をクリックすると タイトルに対応したHTMLファイルを表示させる @とAは可能でしょうか? 可能でしたら手取り足取りよろしくお願い致しますm(__)m
>>35 の質問者です
質問内容の補足:
TOP下の階層にあるHTMLファイルは固定ではありません
常時入れ替えるのでタイトルはその都度変更します
そのタイトル一覧表を生成してタイトルをクリックすればHTMLファイルを表示させたいです
どうぞよろしくお願い致します
37 :
◆.PT9876/4U :2008/03/28(金) 18:33:17 ID:eHyZubUK
>>35 Answer:
1.server 上の任意の directory 内にあるファイルリストが必要なら,
ServerSideScript に頼る必要があります.
(security 面から そのような操作を JavaScript は扱わないことになってます)
2. ServerSideScript との連携により, 実現可能です.
ぼくは過去に類似の script を書いたことがあります.
ただ, script そのものは比較的単純なものとなりますが,
security 面には十分すぎるほどの注意を払う必要があります.
このあたりが僕の弱点なのよん.
>>37 さん
即レスありがとうございます
サーバーにアップする前にローカルでやりたいんです
10ファイルと書きましたが本当はもっとたくさんあるので
手作業ではどうにもならないと思いました
もしよろしければ自宅PC内で@とAを行えるスクリプトを教えていただけないでしょうか
お忙しい中、大変恐縮なのですが
是非ともよろしくお願い致しますm(__)m
39 :
17 :2008/03/28(金) 19:32:56 ID:???
>>27 ありがとうございます、おかげでIE7で動作することができました
どうやらxmlfileの指定が間違っていたのと、ところどころ変数がごちゃごちゃになっていたようでした・・・
もう一つ質問させていただいてもよろしいでしょうか?
XMLHttpRequestとresponseXMLの動作のIE(7)とFF(2)での挙動の違いについてなのですが(IE7とFF2はどちらもXMLHttpRequestは対応しているとリファレンスの方にはありました・・・)、どちらも対応しているはずなのにIE7で動作したスクリプトがFF2で動作しません
var xslt = new XMLHttpRequest();
xslt.open("GET","file.xsl",true);
xslt.send(null);
if(xslt.readyState == 4){
var xsld = xslt.responseXML;
}
var vali = new Array();
alert(xsld);
try{
vali=xsld.getElementsByTagName("xsl:variable");
}catch(e){
try{
vali=xsld.getElementsByTagName("variable");
...
どうやらFF2だとxsldが空っぽになってしまうようです
IE7では正常に動いているのでファイルの指定間違いということはないと思うのですが・・・
>>38 サーバーサイドってのはそういう意味じゃないよ
簡単に言えば、
クライアントサイド : サーバーからサイトのデータを受け取った後に、クライアント側(ブラウザ)で処理するもの
サーバーサイド : サーバーが処理を行い、結果をサイトのデータと一緒にクライアント側へ渡すもの
サーバー上にあるファイルの、作成・削除・名前の取得/変更なんかはサーバーサイドでしかできない
逆にブラウザの表示領域のサイズみたいなのは、クライアントサイドでしか取得/変更できない
なので、希望の処理を行うにはJavaScriptだけでは無理
詳しくは知らないけど、Ajaxとかその辺じゃないかな?
41 :
◆.PT9876/4U :2008/03/28(金) 19:50:53 ID:eHyZubUK
>>38 >サーバーにアップする前にローカルでやりたいんです
JavaScript だけなら texteditor と web-browser だけあれば十分.
だけど, ServerSide に手を出すとなると環境から整える必要が生じます:
1. UNIX 系 OS (PC OS でもできないことはないけど path 関連で面倒なことに)
2. httpd (Server software)
3. 開発言語 software {perl, php, C, ... , etc}
以上は 揃ってますか ?
それと server side の話題は専用板がありますので そちらで...
(僕は構わないけど必ずクレームが付くのが常なので)
>>40 さん
何度もレス頂きありがとうございます
HTMLファイルは既に手元にあるので情報収集の部分は行わないです
手元に2万ファイルほどあるので手作業では困難なので困っています
どうぞよろしくお願い致しますm(__)m
>>41 さん
お世話になります38です
サーバーから情報収集する作業はありません
手元の情報整理と確認なのですが
量が多すぎてお手上げです
何卒よろしくお願い致します
1:自宅PC内での作業
2:読み込ませるファイルは既にP内にあります
3:ファイルを読み込んでリンク付きタイトル一覧表を作る(リンク先は同じPCのひとつ下の階層です)
何度も申し訳ないです
すいません
null と弱点が逆な人間としては 1. 指定したディレクトリ内のファイルを舐めて m!<title>(.+?)</title>! をぶっこ抜く。 2. <li><a href="$filename">$1</a></li> なリストを吐く。 …鯖サイドで完結させてしまうなぁ。 何だか「サーバ上じゃなくてローカルで動かすんです」というところに力が入ってるけど 「手元PCでリンクつきタイトル一覧ファイルを生成するだけ」なら なおのこと JavaScript と無縁な気配。
>>44 さん
レスありがとうございます38です
サーバサイドっていうか
どこにもアクセスしない作業だという事を伝えれば
何か方法があるのかと思いレスしました
私のやりたい事ってjavaスクリプトでは不可能なのでしょうか?
どうぞよろしくお願い致します
46 :
◆.PT9876/4U :2008/03/28(金) 20:33:30 ID:eHyZubUK
う〜〜〜.
こうも質問が集中すると かなりつらい...
ってわけで先着順で答えていきます.
>>43 ,
>>45 の人, ちょっと待っててネ.
47 :
◆.PT9876/4U :2008/03/28(金) 20:54:08 ID:eHyZubUK
>>39 M$ の身勝手に泣かされ続けてきた僕としては IE7 の進化に かなり期待していました.
でも, 実際問題として IE7 の評判は今ひとつなのよねぇ.
僕個人としては IE を誰も使わなくなってくれるのが理想だけど現実は...
で, 僕の環境では IE 5.17 が最終動作バージョン.
動作確認ができない以上, 僕にできるのは Mozilla 対応版を書くことのみなのです.
あえて憶測でモノを言うならば,
" IE6 で動くようにすれば IE7 でも動くんじゃないかな " ということくらい...
(後方互換性を重視しているのが IE の唯一の良いところかと)
>>46 さん
お忙しい中、本当にありがとうございます
>>46 さんってここのスレ立て人ですか
もの凄く親切な方だと実感してます^^;
ただ今、グーグルで「javascript 読みこみ」で検索してファイルの読み込みを探しているのですが
私の聞いていることがあまりにも基本過ぎるのかもしれないけど
外部スクリプトの読み込みばかりヒットして
どこのサイトにもHTMLファイルを読み込むサンプル見当たらないんです
ファイルを読み込むためにはその前にファイルオープンの命令とかとかあるんだろうかと
おびえながらあちこちのサイトを廻ってきたのですが
もっと難しいことはいっぱい記載してるサイトばかりなんです
基本中の基本とかいうサイトにも「ファイルを読み込む」って命令がないんですよorz
読み込んだ後にどうやって書き込むとかクロースするとか次のファイルへ移動するとか
もう頭の中がへんてこりんです(@@)
ぶっちゃけそのもの教えて下さいm(__)m
49 :
◆.PT9876/4U :2008/03/28(金) 21:26:56 ID:eHyZubUK
>>48 話が立て込んでいるのでハンドル(番号でもよい) か, ID を出して欲しいっす.
たぶん,
>>48 ==
>>43 ==
>>45 なのかな ?
そうだと仮定して読み進む限り,
あなたのやろうとしていることは web ではなく, PC 一般の問題.
たとえば Mac ならば AppleScript で処理するような問題.
Windows の場合は どうなのかは知りません. (悪名高い VBScript ?)
>グーグルで「javascript 読みこみ」で検索して
多分, " Ajax " 関連の記事を嫌と言うほど読むことになるでしょう.
先に出ている話題の XMLHttpRequest と ほぼ同じ意味です.
以前, 僕も同じ問題に行き当たり, 調べまくったことがあります.
で, file name が解っているファイルを読むことは可能ですが,
僕が知る限り, directory 内のファイルリストを読むことは できないようでした.
>ぶっちゃけそのもの教えて下さい
まさに そのものなのが
>>27 の話題...
ただ... あなたの言ってることがコロコロ変わるので どう対応したものか ???
50 :
44 :2008/03/28(金) 21:51:22 ID:???
>>49 > 悪名高い VBScript ?
そうそう。でも ActivePerl for Win も使える…ことにして欲しい。
>>45 自分がやる場合。
#!/perl/bin/perl
# /usr/bin/perl はないはず
use strict;
# 一覧ファイルを作りたい階層で走らせないと仕事しません。
my $dir = './'; # 一覧ファイルから見た、HTMLファイルのある階層。 ex.'diary/'
my @files = glob("$dir*.html"); # 拡張子が .htm なら適宜修正
my %links; my $list_file = 'list.html'; # 一覧用のファイル名。
# 1階層2万ファイルなら、少し上の glob() で死ぬよなぁ
foreach my $file (@files) {
open(FH, '<', $file) or die "Cannot open $file\n\n$!";
while (<FH>) { $links{$file} = $1 and last if (m!<title>(.+?)</title>!) }
close(FH);
}
open(FH, '>', $list_file) or die "Cannot open $list_file\n\n$!";
flock(FH, 2);
print FH qq|<html>\n<head>\n<title>ファイル一覧</title>\n</head>\n<body>\n<ol>\n|;
foreach my $file (sort keys %links) { print FH qq|\t<li><a href="$file">$links{$file}</a></li>\n| }
print FH qq|</ol>\n</body>\n</html>\n|;
close(FH);
51 :
コロンパ :2008/03/28(金) 22:55:03 ID:???
>>49 さん
38ですハンドルつけました^^
私のやりたいことは同じデレクトリーで作業も可能です
量が多いので手作業で突き進むより
ジャバスクリプトを勉強したほうが早いような気がするのでここでお聞きしました
プログラム経験はないです
ヤフオクに服を出品したときにHTMLの<h2>とか<br>だけ覚えました^^;
何も知らないのでここの「手取り足取り」ってタイトルが私を引付けました
>あなたの言ってることがコロコロ変わる
数は少なめに聞きましたけど他は何も変わってないですよ
ファイルを読み込んでリンク付きのタイトルリストを作りたいです
何度もお手数をお掛けして恐縮です
どうぞよろしくお願い致します
52 :
コロンパ :2008/03/28(金) 23:02:21 ID:???
>>50 サン
ありがとうございます38改めコロンパです^^
教えて頂いたスクリプトは
<-- と --> の間に書けばいいのでしょうか^^;
どこからどこまでを写させていただけばよいのかわからないので
全部写してから試してみます
わざわざ作っていただき本当にありがとうございます
今後ともよろしくお願い致します
>>52 あれは JavaScript でなく Perl のスクリプトなので、環境を用意しないと
試せないブツです。JavaScript でも <-- ここに書くもんじゃない --> です。
>>53 さん
コロンパです^^
教えてくれてありがとう
今、気がついたんですけど
このスレがある板「WEB製作板」だったんですね
WEB前提の話をしてるのと自宅内でPC触ろうとしてるのはちょっと違いましたね^^;
とにかくジャバスクリプトを覚えたいんですが
自分みたいなものにも教えてくれそうなところを探してるうちに
スレタイだけでここに飛び込んできた次第です
お邪魔だったかもしれないですが
何かの縁だと思ってお付き合い下さい^^;
よろしくお願いします
こんばんはコロンパです
あちこちjavaスクリプトのサンプルを求めて徘徊してきました
javaスクリプトってファイル出力できないのでしょうか?
明確に「できない」と記載されている記述がありましたが
5年ほど前のようです
「ファイル出力できる」と明確に記載されているものは見当たりませんでした
無理なんだろうか?
>>44 さんの発言の意味がわかってきたような・・・
関係ないけど
>>44 さんの発言の中である $1 これはなんだろうかと
コピしてググろうかとしたらなぜかコピできなくて
替わりに
>>1 さんの発言が見えた
2chブラウザの影響かもしれないけど
変数を体感できましたw
javaスクリプトでの「ファイル読み書きサンプル」って無いのだろうか(遠い目
オヤシミー^^
>>56 あんまり詳しくないからはっきりとは言えないけど、JavaScript単体では無理じゃないだろうか
クライアントサイドでそれができるのであれば、サイトの閲覧者のPC内にウイルス投入したりとか
PC内のデータをサーバーに送信…なんて色々セキュリティ的にまずい事もできそうだし
ActiveXとかが危惧されてる理由もその辺じゃないかなぁ…妄想かもしれないけど
ファイルの操作を行いたいなら、素直にサーバーサイド(perlとかphpとか)でやった方がいいかと
「サーバーサイド」って言っても別にレンタルサーバーとかじゃなきゃいけないわけじゃなくて、
自分のPC内にサーバーを構築すれば簡単にできるよ
コロンパちゃんです
>>44 さん
c:\tmpにHTMLファイルと
>>50 の命令を拡張子.plにしてtglst.plとして保存したのですが
コマンドプロンプトから
c:\tmp\tglst.pl
と実行させようとすると「c:\tmpは利用できない場所を参照しようとしています」とエラーになるんです
以前、解説本に付属していたPHP5.25というソフトはインストールしてあるので
perlも動くような気がしたんですが・・・
あっとここはjavascliptスレでした^^;
誰かファイルの入出力おながいしまう
>>58 perlやphpはローカルにサーバー環境がないと実行できない
「Apache 自宅サーバー」で検索すれば、サーバーの構築方法なんかは簡単に調べられる
というか、Perlについても少しも調べてない様だし…自分で調べる気が無いのか?
「JavaScriptではできない」ってレスだけでも何回もついてるのに、延々と他力本願レスするのは良くない
とりあえず自分で調べて、どうしてもわからなかったら自宅サーバ板→WebProg板
>>59 こんばんは
っていうかもう朝だけどw
先に言ってた解説本って「自宅サーバXAMPP」だよ
それについていたのがphp
perlのこと今まで調べてたよ
あなたと違ってスイスイサーフィンできないですよ
初めて読む文書を出来るだけ理解しながら読むんだから時間もかかるよ
っていうか何怒ってんの?
なんなら今から会いましょかw
直接お話でも結構ですよ
じゃ、長崎まで来いや
コロンパです^^ 意外と簡単な方法で出来ることが判明したよ 気づいてやってみたらすぐ終わったw ファイルネーム付きでgrepしたら2万ファイル10分で<title>とファイル名が一致しました ここで親切にしてくれた方、本当にありがとうございました オヤシミ
63 :
◆.PT9876/4U :2008/03/29(土) 08:53:29 ID:1pXhFFKV
>>39 念のために確認しておきたいのですが,
>>27 のサンプルは IE 7 で動いたのでしょうか ?
さて, やはり IE7 は IE6 用記述 (ActiveX を利用する) をサポートしている模様.
itpro.nikkeibp.co.jp/article/COLUMN/20070710/277219/
blog.myrss.jp/archives/2006/01/ie7_ajax_xmlhtt.html
>IE7で動作したスクリプトがFF2で動作しません
動作確認の順番が逆ですねぇ.
IE は 良くも悪くも大ざっぱなのにたいし, FF(Mozilla系) は生真面目.
しかも Mozilla系は "JavaScript Console" を装備しているので
間違っている部分を指摘してくれます.
書き出された記述をざっと見た限り,
xslt.send(null);
が書かれている位置に問題があるように思います.
64 :
59 :2008/03/29(土) 08:53:45 ID:???
>>60 何がいいたいのかさっぱりわからんが、その解説本っての読んでわからなかったのか?
Perlはともかく、自宅サーバーの何たるかくらいは書いてそうだけど
/* 自分のPC内でファイルの操作を行う為の最短ステップ */
1、「Apache 自宅サーバー」で検索
2、自分のPC内にApacheをインストールして、ローカルにサーバーを構築する
3、Perl(又はPHP)をインストール
4、「Perl(又はPHP) ファイル入出力」で検索して、プログラムを作成
※調べてもわからない箇所は1〜3は自宅サーバ板、4はWebProg板で聞くのがベスト
ちなみにどちらかというと呆れてるのであって、掲示板の、しかも初心者スレで怒るとかないだろ
それと、ここは君のパソコン相談室じゃないし、皆善意で(一部気まぐれで)回答してくれてるんだから
回答もらって意味不明なレスする程不服なら来るべきじゃないと思うよ
たとえ匿名掲示板でも、教えてもらうんだからそれ相応の礼儀というものがあるんじゃないかと思うんだぜ
>>61 交通費は出ますか?
65 :
◆.PT9876/4U :2008/03/29(土) 09:12:17 ID:1pXhFFKV
>>51 コロコロ変わるという表現は適切ではなかったと反省しています.
が, お願いですから あなたが書いた内容を読み返してみてください.
text editor にでも書き出して
少しづつ目標が変わっているように読めることに気づいて欲しい.
話が横道にそれますが, このスレッドは ぶっちゃけ, 重複スレッドです.
JavaScript のスレッドとしては以下のところの方が歴史があり, 本流です:
http://pc11.2ch.net/test/read.cgi/hp/1204201797/l50 では, なぜ "重複スレッド" を建てたのか.
本流の方は長い歴史の中で少しづつ質問する際のルールが進化して来ました.
その結果, 質問を選ぶこととなり, 敷居の高いスレッドになってしまった感があります.
しかし, それは進化の必然なのです.
あえて複雑化してしまったルールを初期の状態に戻そうというのがここなのです.
66 :
◆.PT9876/4U :2008/03/29(土) 09:23:01 ID:1pXhFFKV
>>56 >明確に「できない」と記載されている記述がありましたが
>5年ほど前のようです
"ファイル操作" はできないように設計されているのです.
何年経とうが それは変わることはありません.
ただし, MS が開発した JScript は少し事情が違います.
しかし, それが security hole になっているのは有名な話です.
何度も言っている通り, "ファイル操作" をやりたいのならば
JavaScript の守備範囲ではなくなってしまうのです.
>>63 IE7は過去のIEでできていたことに加え、XMLHttpRequestもサポートしたということですよね?
>>27 のサンプルはIE7とFF2で確認させていただきましたが、IE7では正常に動作していませんでした
左側の選択をしても右側の部分はnullになったままで、nullを選択するとおそらくsrcに何も指定されていない?画像が表示されました
画像はクリックすると消えました
エラーコンソールで確認したところ、
vali=xsld.getElementsByTagName("xsl:variable");
でエラーが起きていました(そのころはtryなどを組んでいなかったので)
そこからさかのぼったところがresponseXMLだったので・・・
send(null); を send("");に変えてみてもできませんでした・・・
すみません、読み違えたようです send(null)の位置ですね、もう一度調べなおしてきます・・・
69 :
◆.PT9876/4U :2008/03/29(土) 10:29:07 ID:1pXhFFKV
>>67-68 responseXML にはクセがあるようです:
watcher.moe-nifty.com/memo/2007/03/ie7_xmlhttprequ_018f.html
それと " send(null)の位置" の意味を補足しておきます:
ようするに目的のデータを手に入れた後で send(null) しないと
うまくいかないってことです:
if(xslt.readyState == 4){
var xsld = xslt.responseXML;
xslt.send(null);
}
>>69 なるほど、しかしsendを送らないとreadyStateが4にならないと思うのですが・・・
ttp://jsgt.org/ajax/ref/readystate/readystate.htm これも参考に以下のように修正してみましたが、今度はIE7でもFF2でも動作しなくなってしまいました
エラーの内容は先ほどと同様、xslt.responseXMLが空っぽということです
var xslt = new XMLHttpRequest();
xslt.open("GET",filename,true);
xslt.onreadystatechange = function(){
if(xslt.readyState == 4){
var xsld = xslt.responseXML;
}
}
xslt.send(null);
if内に xslt.send(null);を入れてもみましたが、結果は同じでした
71 :
◆.PT9876/4U :2008/03/29(土) 17:56:05 ID:1pXhFFKV
>>70 >しかしsendを送らないとreadyStateが4にならないと思うのですが・・・
うっ!
じつは僕のサンプルには
if(xslt.readyState == 4){}
と言う記述は使われていないのです. (WaMCom で動作確認済み)
本来ならば検証しながら答えるのが筋ですが,
僕の使用中の OS が "生き埋めにされた代物" なので
使用可能な web-browser が限られています.
(使用可能な中で唯一, 信用できそうなのが Mozilla1.31 相当の WaMCom)
"だったら, 最新 OS に乗り換えろ! " って話になるでしょうが,
話が大きく横に それるので勘弁願います.
さて,
>>70 の記述を書き換えてみます:
var xslt = new XMLHttpRequest();
xslt.open("GET",filename,true);
xslt.onload = function(){
var xsld = xslt.responseXML;
xslt.send(null);
}
これで うまくいかないのなら, このあたりが僕の限界です.
http://pc11.2ch.net/test/read.cgi/hp/1204201797/l50 の方に話を持ち込んでください.
("誘導された" と一言書き添えたほうが良いでしょう)
>>70 > xslt.onreadystatechange = function(){
> if(xslt.readyState == 4){
> var xsld = xslt.responseXML;
> }
どのようにxsldが空であると確認したんだ?
>>71 やはりうまくいかず・・・
いろいろとアドバイスしていただきありがとうございました
>>72 その後の続きのスクリプトで
try{
vali=xsld.getElementsByTagName("xsl:variable");
}catch(e){
try{
vali=xsld.getElementsByTagName("variable");
}catch(e){
alert("getElementsByTagName Error");
}
}
vali[0].text=fnum;
というものがあるのですが、最終行でそのプロパティがないというエラーが出ていたため、上のスクリプトの直前のあたりに
alert(xsld);
alert(xslt);
....
などとしたとき、alert(xsld);で未定義と表示されたため空と判断したのですが不足だったでしょうか
初心者という盾を振り回すつもりはありませんが、デバックの方法など勉強不足なもので毎回エラーの起きている部分をalertなどで表示させて修正の参考にしています・・・
74 :
Name_Not_Found :2008/03/30(日) 18:04:02 ID:eT/AaoAP
質問させてください <form method="get" action="search.php"> <input type="text" name="keywd"> <input type="submit" name="q" value="検索"> </form> フォームに入力されたキーワードが数字以外の場合に 「数値を入力してください」とよくある警告画面を出したいのですが JavaScriptでどのように記述すれば良いでしょうか。お願いいたします
75 :
◆.PT9876/4U :2008/03/30(日) 19:06:53 ID:YXuH0y4L
>>74 "keywd" field の内容をチェックするタイミングは ?
これが不明なのよね.
取り合えず "検索" ボタンが押された時にチェックすることにしよっか ?
ほんの15分程度で書けると思う.
だけど, 念のために動作確認をしてから書き出すから待っててね.
(なめてかかると 大抵馬鹿なミスをやらかすものだから...)
もう着手してるかなあ…。
>>75 イベント拾うのはそこの onClick で当たりっぽいけど
「ゼロまたは正の整数値限定。3桁ごとのカンマ区切りとか論外」にするのか
「負数も小数も数値だもん」なのか
もすこし要件を詰めたほうがいいかもしれないよ。
77 :
◆.PT9876/4U :2008/03/30(日) 19:33:36 ID:YXuH0y4L
>>74 ・ html 部を変更:
<form method="get" action="search.php" id="form0">
<input type="text" name="keywd" id="keywd">
<input type="button" name="q" value="検索" onclick="check()">
</form>
・ js:
var rx,frm,fld;
window.onload=function(){
rx=new RegExp('[0-9]+');
frm=document.getElementById('form0');
fld=document.getElementById('keywd');
}
function check(){
var v=fld.value;
if(v==''){alert('何も入力されていません.');}
else{
if(! v.match(rx)){alert('数値以外の文字が含まれています');}
else{frm.submit()}
}
}
78 :
◆.PT9876/4U :2008/03/30(日) 19:47:02 ID:YXuH0y4L
>>76 質問者も細かい仕様について考えが及んでいないと予想.
だから先回りして大ざっぱなサンプルを提示.
(一発で一件落着になるとは思っていません)
79 :
74 :2008/03/30(日) 22:25:15 ID:eT/AaoAP
>>77 ありがとうございます。バッチリです
条件は"検索" ボタンが押された時に
>>76 さんのおっしゃる通り正の整数かどうかをチェックするという事です。
言葉足らずですみませんでした。
大満足です。ありがとうございました。
80 :
74 :2008/03/30(日) 22:37:56 ID:eT/AaoAP
すみません 確認不足でした汗 -、小数点、,だとactionが実行されてしまいますね 正の整数限定にするのは難しいでしょうか
81 :
◆.PT9876/4U :2008/03/30(日) 22:57:14 ID:YXuH0y4L
>>80 rx=new RegExp('[0-9]+');によって
" {0,1,2, ... ,9} の1個以上の文字 "
という条件が規定されている.
んで, "-" とか "." などは当然ながら対象外.
したがって, それらの文字が含まれていれば alert が出る...
はずなんだけど ?
82 :
◆.PT9876/4U :2008/03/30(日) 23:02:09 ID:YXuH0y4L
>>80 訂正:
確かに "-" , " ." が含まれていても submit() されてしまうので修正します.
ちょっとまっててね.
83 :
◆.PT9876/4U :2008/03/30(日) 23:16:27 ID:YXuH0y4L
>>80 修正版:
var rx,frm,fld;
window.onload=function(){
rx=new RegExp('[^0-9]+');
frm=document.getElementById('form0');
fld=document.getElementById('keywd');
}
function check(){
var v=fld.value;
if(v==''){alert('何も入力されていません.');}
else{
if(v.match(rx)){alert('数字以外の文字が含まれています');}
else{frm.submit();}
}
}
84 :
74 :2008/03/30(日) 23:31:55 ID:???
85 :
76 :2008/03/30(日) 23:49:19 ID:???
>>81 ロジック裏返して解決してるけど、余計な口出ししてしまったので(ごめん)お詫びがてら。
/[0-9]+/ だと ab_c012,3.- でもマッチするから /^[0-9]+$/ や /^\d+$/ ですよ。
まわりくどいコードは気持ち悪い 質問者の提示したソースを必要以上に弄らない <form method="get" action="search.php" onsubmit="validate(this);"> <input type="text" name="keywd"> <input type="submit" name="q" value="検索"> </form> function validate(form) { var valid = /^[0-9]+$/.test(form.elements['keywd'].value); if (!valid) alert('半角数字を入力してください'); return valid; }
こっちだった <form method="get" action="search.php" onsubmit="return validate(this);">
88 :
15-25 :2008/03/31(月) 10:45:43 ID:swQ8k5v2
>>26 様
度々ありがとうございます。
実を言うと、今度女の子の仲間内だけで風俗店立ち上げるに当たり、女の子の出勤表を作りたくて…でもPHP環境も予算もあまり無いので、曜日ごとに出勤する女の子を決めおいて、それを表示させるページを自分で作りたいのですが、どうすれば良いのでしょうか。。
携帯から更新というのはあくまでも希望で…パソコン持ってない仲間も手軽に更新できればなー…と思ったのですが、そういうのはCGIとかブログを使った方が良いんでしょうかね…
89 :
◆.PT9876/4U :2008/03/31(月) 12:13:08 ID:dFXWPTO8
>>86 う〜〜〜手厳しいのね.
まあ, 言われてみるとその通りかもね.
今後とも回答者として よろびく.
>>88 昔, 似たような話があったように思います.
(やはり, 風俗関連の Shift 表目的)
"データ更新" の頻度が高いと考えられるので,
データ管理の手間が掛らない "System" が必要となるでしょう.
加えて, "携帯電話利用" と言う事となると JavaScript は使えません.
(JavaScript が使える機種も あるそうですが, 使えない機種が大多数)
ましてや, "携帯電話で更新" と言う事となると,もはや CGI の守備範囲です.
それにしても どのような (format の) データを送るつもりですか ?
一つの案として Excel などで作った表を
CSV もしくは TSV として出力させ,
database CGI などに管理させる方法が考えられます.
でも, ... 使い勝手の良いものにするには相当の技量が必要でしょう.
90 :
15 :2008/03/31(月) 12:36:29 ID:swQ8k5v2
>>21 犬のスクリプトをいじろうとしましたがMynowやら曜日の取得が解りません(;_;)
どなたか教えてくださぃ。。o(_ _*)o
<script language="JavaScript"><!--
myRef = new Array(7);
myRef[0]="0.htm";
myRef[1]="1.htm";
myRef[2]="2.htm";
myRef[3]="3.htm";
myRef[4]="4.htm";
myRef[5]="5.htm";
myRef[6]="6.htm";
myDay = (new Date()).getDay();
myHour = (new Date()).getHours();
myMin = (new Date()).getMinutes() * 60;
mySec = (new Date()).getSeconds();
myNow = myHour + myMin;
myNext = (3600 - myNow) * 1000;
myNextDay = (myDay == 6) ? 0 : myDay+1 ;
setTimeout("location.href=myRef[myNextDay]",myNext);
>// --></script>
91 :
Name_Not_Found :2008/03/31(月) 12:44:33 ID:dFXWPTO8
>>90 そのサイトは微妙なサイトだと思うけどなぁ.
("my..." などと言うのは perl 表記の転用だし,
new Date().get... などという表記の連続も 僕にはキモイ)
>曜日の取得が解りません
すでに何度も回答を得ているはずです.
92 :
15=88 :2008/03/31(月) 14:33:51 ID:swQ8k5v2
>>89 サマ
出勤といっても、毎週殆ど出勤する子は固定されているので、ほんとにただ日付が変わったらページが曜日ごとに作った変わる単純なもので構わないんです。。>91サマ
曜日の取得というか、myNow =の計算式とmyNextの計算式をどういじったらいいのか分かりません。。アホですみません(>_<)
Mynexの所は86400に変えれば良いのでしょうか…?
あと、分と秒の計算式のトコは必要ですか?
>>19 サマの回答して頂いたものはよくわかりませんでした。。
93 :
◆.PT9876/4U :2008/03/31(月) 17:36:19 ID:dFXWPTO8
>>92 あなたの目標ががさっぱり解りません.
正直,
>>88 と
>>90 は別人だと思ってました.
同じ人だとすると, まったく会話が成立していないことになります.
あなたがやりたいことを理解しない内には何もできないのですよ !
せめて こちらが聞き返したことには きちんと答えて欲しい.
>>92 その参考にしてる犬のスクリプトってのは、「アクセスしてから一定時間後に処理を行う」もので
曜日毎に表示内容を自動更新するってのとは全然違うよ
そもそも、根本的にそういう目的で作るならJavaScriptは使うべきじゃない
とりあえず覚えておいた方がいいのは
1、JavaScriptを無効にしている人もいる
2、携帯ではJavaScriptは使えない(フルブラウザ除く)
つまり、基本的には「表示されなくても閲覧に問題ないもの」じゃなきゃいけない
無効にしてる or 使えない環境の為に、<noscript>で代替テキストとかを表示する事はできるけど、
今回の件は商用だろうし、肝心な部分が表示されないのは困るでしょ?
perlやphpでこの手のスクリプトを書くのは特段難しい事じゃないし、サーバーサイドでやった方が無難だよ
つGoogle カレンダー
リンク又はボタンをクリックしたらその直下に iframe が出現(可視化)して、他のページを読み込ませるには どういうコードを書けばよいでしょうか。 iframe 内のページのロードは、クリック後に実行されて欲しいです。 どなたか教えて下さい。
97 :
◆.PT9876/4U :2008/04/01(火) 07:26:23 ID:s0UtTuAG
>>96 iframe に限らず, frame は廃止の方向を向いています.
そのようなものを使わなくて
XMLHttpRequest で読み込んだ内容を div block などに流し込むことが可能です.
ただ, この方式の欠点は web-brwser によって記述が異なることです.
(つまり UA 振り分けが必要となり, 複数の web-brwser で動作確認)
別な方式として CGI との連携も考えられますが,
この場合は iframe (もしくは frame)を使わざるを得ないでしょうねぇ.
>ボタンをクリックしたらその直下に
おそらく,単なるレイアウトの問題でしょうが "その直下" の意味が今ひとつ...
ところで あなたはヒントだけで script を書ける人ですか ?
(ここでの質問には一切の制限がないため, この部分の確認が重要なのです)
>>96 どういうコードを書けばよいかと聞かれたら、
onclick のリスナーで仮引数 e = e || window.event しといて createElement('iframe') して src とか代入して、必要なら class 振って 、あとは (e.target || e.srcElement).nextSibling から insertBefore 。
ポップアップさせたいとかレイアウトは全部スタイルシートでやるのが定石
99 :
◆.PT9876/4U :2008/04/02(水) 05:37:25 ID:Wf2cgTQK
そもそも 2 チャンネルの本質は "戦場" なのだということは理解してる. でも, "例外" が あってもいいじゃない ? ここが その例外に なればいいなぁ... ところが, こちらの心が荒みつつあるこのごろ... (聞き返した ことに返答なし ! イライラ...)
>>99 お元気そうで^^
javaスクリプトではファイルの書き込みは出来ないよと教えてもらったものです
昨日からperlのお勉強はじめました
取り合えず今は目の前のことをかたずけたいのでcygwinperlを少し触ってみたら
javaスクリプトにお世話になると思います
そのときまでここを守ってて下さいね^^;
オヤシミ
101 :
◆.PT9876/4U :2008/04/02(水) 06:06:49 ID:Wf2cgTQK
>>100 perl と言えば, 今までは 5.x が最終バージョンでした.
ところが ついに perl6 なるものが出たんだそうな.
大きな違いは OOP の記述だとか... (perl5 の OOP は僕には理解できません)
ますます混迷を深める 事に なりはしないだろうか ?
ところで server は ?
ISP の server は "CGI 利用可能" であっても制限が多く,
いろいろと泣かされることが多いです.
>>101 自宅pc内のファイル整理だからアパッチかANHTTPDでおkです
取り合えず2万ファイルの読み書きだけが目的なので
perllが簡単で一番適しています
昨日買った「超入門perl/cgi」既に半分消化しますた
この本すごく簡単に覚えれる^^
まあ目的が簡単なことなので私の目標はすぐ覚えれそうな希ガスw
しばらくしたらまた来るのでそのときはよろしくおながいします
オヤシミ^^
スレ主よ
テンプレやスレの方針自体には大賛成だ
けれど、
>>102 の様なレスで埋め尽くされたらどう思う?
必要の無い、或いは無関係なレスでログが流れ、質問がわかりにくくもなるだろうし
なにより俺が初心者ならそんなスレで質問しようなんて気にはなれない
>>1 読め、ぐぐれ、そんな2ch初心者orネット初心者に優しくないローカルルール
それの例外的なスレはあっても良いとは思うけど、「何でもあり」にすると無法地帯と化すのではないか
2ch以前に、最低限守るべき「常識」をわきまえてない質問やレスには、対応すべきじゃないと思う
「理解不能な日本語で書かれた質問」とかね
戦場の例外・・・ 雑談アリって事でいいんじゃないでしょうか? 中身は基本的にjavaスクリプトだけど 数レス程度はみだしてもおkでは? どこでもそうだろ そんなにカチコチがいいんなら自分でスレ立てればいいと思うよ ハイレベルな解答ができなければ寒くて誰も近寄らないがwww スレタイにjavascriptって書いてあるんだから余計な心配だと思うよ
最初は天使のように親切だった
>>1 が近頃みるみる苛立ってきてて面白い。がんばれ
>>1
106 :
◆.PT9876/4U :2008/04/02(水) 18:38:54 ID:Wf2cgTQK
>>102 " 自宅pc内のファイル整理" に Apach or ANHTTPD ?
ああた, どういう人なの ? (判ってるのか, そうでないのか サパーリ)
まあ, 自己解決できるのなら それはそれでいいんだけど.
ともかく頑張ってね.
>>103 僕はスレヌシではありません. (単なる間借り人)
かつて あったスレッドを復活させようとしているだけ.
そもそも僕だけが答えるのなら 2ch である必要はないですよねぇ.
(nifty 用 2ch 風掲示板 script があるので, それを利用するとか.)
でも, それだと誰も集まらない !
協力者あっての スレッドなのですよん.
>必要の無い、或いは無関係なレスでログが流れ
一つのスレッドでは解決できない様相を呈しているときもあります.
でも, それはこういった方針を取る宿命かと...
本流と同じ方針を取るのなら, 単なる重複スレッドに過ぎず存在意義もないかと.
>「何でもあり」にすると無法地帯と化すのではないか
その危険性は大いにあります.
ですが, それを承知の上で あえてやっているので.
って, そもそも 2ch は無法地帯なのだ.
(有意義なスレッドが多数あるのも事実ですが, そもそもは けんか道場かと)
107 :
◆.PT9876/4U :2008/04/02(水) 18:48:28 ID:Wf2cgTQK
>>104 >雑談アリって事でいいんじゃないでしょうか?
同感です.
ただ, 質問が集中して来ると訳ワカメになる傾向があるのが欠点ですが.
(そんなときは無駄口を省かざるを得ないです)
どうでもいいけど, "一件落着" の快感を味わいたいですねぇ.
どうでもいいけどもっとマシなコードを書けるようになって下さい
109 :
Name_Not_Found :2008/04/02(水) 21:43:30 ID:GTaFzZM8
すみません、このスレで良いのかどうかも微妙なんですが・・・
ttp://www.conradtokyo.co.jp/ のページのフラッシュ領域の下、新着情報が表示されてる部分。
GUEST ROOMS、RESTAURANT&BARS、WEDDINGのタブをクリックすると
その下だけ読み込みされるんですが、これはどのようにやれば良いんでしょう?
iframeではないようで・・・。
一応、「スクリプト ページ 一部 読み込み」などでググってはみたのですが、
それらしい情報がみつかりませんでした。
そもそもこの効果がjavaスクリプトかどうかも怪しいのですが、せめて検索に有効な単語
でもわかれば・・・と思いまして。
よろしくお願いします。
>>109 読み込んでいるのではない
表示と非表示を切り替えてるだけ
111 :
109 :2008/04/02(水) 23:10:52 ID:???
なるほど。 てことはGUEST ROOMS、RESTAURANT&BARS、WEDDING3つそれぞれの内容を作っておいて クリックされた時に指定領域の中に表示させてるてコトですね? ・・・と言ってはみたものの、具体的にどうしたらいいやらさっぱりわかりません。。。
112 :
109 :2008/04/02(水) 23:11:45 ID:???
113 :
◆.PT9876/4U :2008/04/02(水) 23:13:43 ID:Wf2cgTQK
>109 とりあえず, ここでの質問には制限なしです. (答えられないときは正直に白状します) >iframeではなようで ・ソースを見れば おおよその見当がつきます: <div id="TabbedPanels1" class="TabbedPanels"> <ul class="TabbedPanelsTabGroup"> <li class="TabbedPanelsTab" style="border-left:1px solid #515151" onfocus="this.blur()">GUEST ROOMS</li> <li class="TabbedPanelsTab" onfocus="this.blur()">RESTAURANTS & BARS</li> <li class="TabbedPanelsTab" onfocus="this.blur()">WEDDINGS</li> </ul> <script src="SpryAssets/SpryTabbedPanels.js" type="text/javascript"> ・怪しいところを Googlo Search: www.google.co.jp/search?hl=ja&q=SpryTabbedPanels.js&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=lang_en%7Clang_ja
114 :
109 :2008/04/02(水) 23:30:01 ID:GTaFzZM8
>>113 さん
あぁぁぁl・・・・スミマセン。
ulね・・・liね・・・と流してしまっていてID名まで良く確認してませんでした。
突如ムチャ振りされて焦っていたもので。。。
これがSpryシリーズ(?)ってやつですか・・・。
で、あとは各タブに置いた画像にa:hoverで別画像をあててやれば良いってことですね。
ゴニョゴニョやってみます。
ありがとうございましたー!
115 :
Name_Not_Found :2008/04/04(金) 08:06:39 ID:TvAIhnpM
var txt = "あああ\nいいい<>ううう\nえええ\nおおお<>かかか\nききき"; この文字列で<>に挟まれている部分以外の「\n」を「<br />\n」に置き換えたいのですが、 正規表現で実現できるでしょうか? もしくは挟まれている部分の「\n」だけを削除する方法はありますでしょうか? 調べ方が悪いのか検索かけてもそれらしい情報を見つけられませんでした。 お願いします。
116 :
◆.PT9876/4U :2008/04/04(金) 12:10:33 ID:EYdkzWkX
>>115 掲示板 CGI で良くある処理ですねぇ〜. (というか, 必ず やる処理)
>「\n」を「<br />\n」に置き換えたい
これって UNIX 系 OS 以外は対象外になるんですけどぉ〜.
(承知の上でやってるのかなぁ ?)
>正規表現で実現できるでしょうか?
Yes !
var lb=u.match(/\x0D|\x0A|\x0D\x0A/);
もしくは
var lb=u.match(/\n|\r|\n\r/);
その後で
var lines=txt.split(lb);
とすれば "lines" の中には改行文字以前の文字列(群)が...
あなたは これだけで先に進める人だと予想しています.
(もしも解らなければ その旨 申し出てください)
>検索かけてもそれらしい情報を見つけられませんでした
JavaScript で このような処理をすることは 少ないですからねぇ.
CGI をいじれる人に取っては当たり前のことだし,
素人相手のサイトだとサンプルとしての押しが弱いってことでしょう.
117 :
◆.PT9876/4U :2008/04/04(金) 12:14:07 ID:EYdkzWkX
>>115 訂正:
var lb=txt.match(/\x0D|\x0A|\x0D\x0A/);
もしくは
var lb=txt.match(/\n|\r|\n\r/);
>>115 <>で挟まれた"ううう\nえええ\nおおお"の部分は除外したいという事かな?
var pieces = txt.split( '<>' );
var range = [pieces[0].length, pieces[0].length+pieces[1].length+4];
var newTxt = txt.replace( /\n/g, function(str,index) { return (index<range[0]||index>=range[1] ? '<br />\n' :str); } );
これでも出来るけど、txt.split( '<>' )で分けた後で、
配列の1番目と3番目だけ正規表現で\nを変換した後に、
join('<>')で文字列に戻すって方がシンプルで良さそうだけど。
119 :
115 :2008/04/04(金) 17:20:40 ID:???
>>116-118 どうもありがとうございます。
お陰様で実装することが出来ました、感謝です。
>>116 では改行コードのことも考慮に入れてもらって、大変参考になりました。
実はテキストエリアの内容をリアルタイムでプレビューする機能を作っていまして、
なるべくシンプルな動作にしたかったため、txt.split( '<>' );→\n変換→join('<>')という形で組み込みました。
蛇足な事後報告すみません、非常に嬉しかったもので。
>>116 さん
>>118 さん、本当に助かりました!
120 :
◆.PT9876/4U :2008/04/11(金) 07:37:54 ID:fSK1W8QS
僕は知っている. このスレッドに誘導してくれている人がいることを. でも, なぜか質問に来る人がいないのが現状. なぜなんだろ?
121 :
Name_Not_Found :2008/04/11(金) 18:17:56 ID:nO37MGyk
<script type="text/javascript" src="lib/prototype.js"></script> <script type="text/javascript" src="src/scriptaculous.js"></script> <script type="text/javascript"><!-- window.onload = function() {Sortable.create('menu');} function serialize() {alert(Sortable.serialize('menu'));return false;} // --> </script> <ul id="menu"> <li id="menu_1">メニュー1</li> <li id="menu_2">メニュー2</li> <li id="menu_3">メニュー3</li> <li id="menu_4">メニュー4</li> <li id="menu_5">メニュー5</li> </ul> でメニューの順番を保存する方法を聞いたのですがわけ分からないのでこちらに来ました。 貰った回答は、 Sortable.serialize('menu'))で得られた文字列を 次の関数の引数にする function deserialize(cookieStr) { var list = cookieStr.split('&'), seq = []; for(var i = 0; i < list.length; i++){ seq.push(list[i].split('=')[1]); } Sortable.setSequence('menu', seq.reverse()); }; とのことですが理解不能でした。
122 :
◆.PT9876/4U :2008/04/11(金) 19:10:42 ID:fSK1W8QS
>>121 いらっしゃいませ〜 !
>メニューの順番を保存する方法
cookie に記録するデータの format をいかにするかがポイントでしょうねぇ.
>わけ分からないのでこちらに来ました
動作確認をしてみましたか ?
具体的に何がどう解らないのかを詳しく書いてください.
(あちらと違って, こちらは質問についての制限が一切ない代わりに
色々と確認することが必要となるのです)
123 :
Name_Not_Found :2008/04/11(金) 20:15:31 ID:nO37MGyk
Cookieについては分かるのですが、 動作確認をするどころがどう組めばいいのかが分からないです
124 :
◆.PT9876/4U :2008/04/11(金) 20:35:00 ID:fSK1W8QS
>>123 僕はあちらのほうも見てますが, 話の流れがつかめまてません.
めんどうでも "何がしたいのか" を書き出してください.
(見たところ list の並び替えのようですが 操作部分が見えて来ません)
あと, もう一点 :
あなたの実力. (ある程度書けるとか, ある程度読める とか...)
メニューが並び変えるのは便利なのですが、それだけだと何の意味もないので Cookieで保存して次見た時も並び変えられた状態で表示させたいのです。 どう組めば動作確認出来るのか、その動作まで行きません。 Sortable.serialize('menu')で文字をどうやって得るのか、そこが分からないです
126 :
◆.PT9876/4U :2008/04/11(金) 21:14:14 ID:fSK1W8QS
>125 >メニューが並び変えるのは便利なのですが ようは list の順番を並び替えたいのでしょ ? だったら, どうやって並び替えるのかな ? (たとえば Drag&Drop でやるとか...) <- やってやれないことはないだろう 面倒だけど ... それと prototype.js とかの たぐいは使ったことがありません. (そういったたぐいのものを使うよりも自作するのが好きなので) どうしても "やれ !" ということならば それなりの時間を要することでしょう.
一応Drag&Drop出来るようなソースなんですがー… どうしてもじゃないと出来ないような難しいものだったのならあきらめます… 無駄なお時間ありでした
128 :
◆.PT9876/4U :2008/04/11(金) 21:54:10 ID:fSK1W8QS
>>127 1. list の並び替え (D&D)
2. 並び替えた順番を cookie に記録
3. onload で cookie を読み取り順番を再現
これだけの条件でサンプル作るってのでどう ?
(ちと時間は掛るだろうけど...)
それを見てからの話で いいのでは ?
わかりました。 ありがとうございます
130 :
◆.PT9876/4U :2008/04/11(金) 22:35:15 ID:fSK1W8QS
>>129 土日でなんとか かっこが付くようにがんばる.
・ 参考: 昔作った Drag&Drop のサンプル (がらくた)
homepage2.nifty.com/alter/samples/misc/DragDrop/exam.html
>>121 JavaScriptを勉強したいというより、
とりあえず動く事が必要なようなのでコードだけ。
<script type="text/javascript">
<!--
function setCookie() {
document.cookie = 'n00b='+encodeURIComponent( Sortable.serialize('menu').replace(/[^\&]*=/g,'') );
}
window.onload = function() {
Sortable.create( 'menu', {'onUpdate':setCookie} );
var cookieArray = document.cookie.match('n00b=([^;]*)');
if ( cookieArray )
Sortable.setSequence('menu', decodeURIComponent(cookieArray[1]).split('&') );
}
-->
</script>
上のコードではCookieの有効期間は現在のセッションになっているので、 >Cookieについては分かるのですが、 らしいので、Cookieの有効期限は適当に設定して下さい。
133 :
◆.PT9876/4U :2008/04/12(土) 07:14:32 ID:WZvANyQQ
何のことやら さっぱり解らなかった...
そこで "scriptaculous.js" で GoogleSearch.
実動サンプル発見:
wiki.script.aculo.us/scriptaculous/page/print/SortableListsDemo
これを解析して改造すれば...
まさか, 質問内容の解析が必要になるとは... (やれやれ)
>>131-132 書き出されたソースを見て理解できるような(勘の良い)質問者ではなさそう.
(それを承知の上の回答でしょうが...)
>>131 様ので直感でやってみたら、Firebugに
options has no properties dragdrop.js Line 934
と吐かれてしまいました・・・
そして並び変えも出来なくなったようです。
>>134 >>131 の使用バージョンは、
prototype.js 1.6.0.2
scriptaculous 1.8.1
Firebugを使えるなら、
dragdrop.jsの734行目、
this.sortables[element.id] = options;
にBreakpointを置き、element.idに"menu"が設定されていて、optionsが空で無いのを確認。
それが問題無いなら、930行目、
var options = Object.extend(Sortable.options(element), arguments[1] || { });
のBreakpointからStep IntoでSortable.optionsへ行き、
return Sortable.sortables[element.id];
で空で無いobjectが返されるのかを確認。
ブ、ブレークポイントってどう使うんでしょうか?
クリックしたら、○がつきましたが、 この後どうすればいいのでしょうか…
気の長い話だね…
140 :
◆.PT9876/4U :2008/04/13(日) 11:49:04 ID:+GJtYLtD
"scriptaculous.js" をダウンロードして text-editor で開く... ぎゃぼ〜ん \(@@)/ この話なかったことにしてくだせ〜
>>138 734行目に○が付いた後にページを再読み込みすると、
その○が、○の中に黄色い▽が描かれたアイコンに変わって実行が734行目で停止中となる。
この状態で、
this.sortables[element.id] = options;
の、element.idの上にマウスポインタを移動すると、"ul#menu"というtooltipが表示され、
同様にoptionsの上では、"Object element=ul#menu..."と表示される。
正常な動作ならこのような表示になるはず。
<html xmlns="
http://www.w3.org/1999/xhtml " xml:lang="ja" lang="ja"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script type="text/javascript" src="lib/prototype.js"></script>
<script type="text/javascript" src="src/scriptaculous.js"></script>
<script type="text/javascript">
function setCookie() {
document.cookie = 'n00b='+encodeURIComponent( Sortable.serialize('menu').replace(/[^\&]*=/g,'') );
}
window.onload = function() {
Sortable.create( 'menu', {'onUpdate':setCookie} );
var cookieArray = document.cookie.match('n00b=([^;]*)');
if ( cookieArray )
Sortable.setSequence('menu', decodeURIComponent(cookieArray[1]).split('&') );
}
</script>
<style type="text/css">
ul {margin-left : 0;padding-left : 0;}
li {padding : 2px 5px;margin-bottom : 1px;border : 1px solid #ff0000;background-color : #ffeeee;list-style-type : none;cursor : move;}
</style></head>
<body>
<ul id="menu">
<li id="menu_a1">メニュー1</li><li id="menu_a2">メニュー2</li><li id="menu_a3">メニュー3</li><li id="menu_a4">メニュー4</li><li id="menu_a5">メニュー5</li>
</ul>
</body></html>
>>138 とりあえず
>>141 の結果がどうあれ、
>>142 をそのままHTMLとして保存して、これが動作するのか確認し、
駄目ならOSとブラウザのバージョンを教えて下さい。
144 :
◆.PT9876/4U :2008/04/13(日) 13:51:44 ID:+GJtYLtD
>>143 OK : WaMCom(Mozilla1.31相等) で確認.
蛇足ながら重〜い印象.
手取り足取りお願いします(´・ω・`) 下記のようなセレクトメニューで 最初のセレクトで選んだ内容によってもう一方の中身を絞り込みたいのですがどうしたらいいでしょうか? 例)商品Bを選んだ際はBBB,BBB2,BBB3だけを表示 ----------------------------------------------- <select> <option value=""> <option value="1"> 商品A <option value="2"> 商品B <option value="3"> 商品C <option value="10"> その他 </select> <select> <option value=""> <option value="1"> AAA <option value="2"> BBB <option value="2"> BBB2 <option value="2"> BBB3 <option value="3"> CCC <option value="3"> CCC2 </select>
146 :
Name_Not_Found :2008/04/13(日) 18:16:22 ID:+GJtYLtD
>>145 まずは MENU をごらんになり, お好きな option を お選びくださいませ.
-------< MENU >-------
1. ヒントだけで良い
2. 完動するサンプルがほしい.
148 :
Name_Not_Found :2008/04/13(日) 19:11:31 ID:+GJtYLtD
>>147 典型的な 2段 select のパターンなんだけど,
通常は "絞り込み" というよりも
1段目がカテゴリーの選択で それに呼応して
2段目の options が決まる形になるんじゃないかなぁ ?
( "絞り込み" という形でもできないことはないけれど
条件をきっちり決めないと作れない)
>>145 の例で言うと "A or B or C と言う文字が含まれる" かどうかが
判断材料となるだろうけど, これでいいのかな ?
>>148 やりたいのは前者の方ですね。
1段目を選択したときに、
その選択したvalueと同じvalueのものだけ2段目に表示したいです。
150 :
Name_Not_Found :2008/04/13(日) 19:59:10 ID:+GJtYLtD
>>149 了解.
とりあえず, それらしいものを作ってみる.
(比較的頻繁に書き換える必要が生ずるのが この手の物のキモであり,
色々なアプローチが考えられる.
したがって 少しずつ細かいところを まさに絞り込んで行かないと完成しない.)
151 :
Name_Not_Found :2008/04/13(日) 21:22:33 ID:+GJtYLtD
>>149 Sample:
homepage2.nifty.com/alter/exam/exam.html
JS:
homepage2.nifty.com/alter/exam/exam.js
・ 2段目の変化に対応する動作はありません
(単に連動するだけのサンプル)
>>151 ありがとうございます!!
参考にさせていただきます(`・ω・´)
◆.PT9876/4Uさん ご活躍のようで私も嬉しいです^^ 以前こちらでファイル操作の事でお伺いしたものです 私のほうは全然進まない足踏み状態なので こちらへ戻ってくるのはまだ先になりそうなのですが いずれジャバスクリプトも覚えてみたいです ジャバスクリプトとJスクリプトとはまた別なのでしょうか? よくわからないんですがJスクリプトとはファイルの読み書き出来るのかな? ちょっとスレ違いなので自分でググって見ます^^; ファイル操作のきっかけはこちらで教えてくれたのでここは私の故郷ですよ^^; 私が帰ってくるまで守ってて下さいね その頃には少しはパソコンのことわかるようになって戻ってきます(`・ω・´) んじゃ オヤシミ ノシ
155 :
153 :2008/04/14(月) 22:32:33 ID:???
<html> <head> <script type="text/javascript" src="lib/prototype.js"></script> <script type="text/javascript" src="src/scriptaculous.js"></script> <script type="text/javascript"> var expires = new Date(); expires.setDate(expires.getDate()+30); function setCookie(){ var cookieStr = 'n00b=' + encodeURIComponent(Sortable.serialize('menu').replace(/[^\&]*=/g,'')); cookieStr += expires ? "expires=" + expires.toGMTString() : ""; document.cookie = cookieStr; } window.onload = function(){ Sortable.create('menu',{'onUpdate':setCookie}); var cookieArray = document.cookie.match('n00b=([^;]*)'); if(cookieArray) Sortable.setSequence('menu',decodeURIComponent(cookieArray[1]).split('&')); } </script> <style type="text/css"> ul {margin-left : 0;padding-left : 0;} li {padding : 2px 5px;margin-bottom : 1px;border : 1px solid #ff0000;background-color : #ffeeee;list-style-type : none;cursor : move;} </style></head><body> <ul id="menu"> <li id="menu_a1">メニュー1<li id="menu_a2">メニュー2<li id="menu_a3">メニュー3<li id="menu_a4">メニュー4<li id="menu_a5">メニュー5 </ul> </body></html> こんな感じで有効期限を(30日後まで)決めようとしたのですが、 ブラウザを閉じると元に戻るし、しかもここが一番分からないところなのですが なぜか並び変えて更新すると一つずつ消えていくです。
>>155 "expires="の前にセミコロンが無いので、expires以降の文字列もcookie値として認識されてしまうから。
メニューアイテムが消えるのも、最後の指定がexipresを含む無効な値である為。
cookieStr += expires ? "; expires=" + expires.toGMTString() : "";
あとCookieのkey名のn00bは一種の悪い冗談なので、実際の運用時には変更する事をお勧め。
157 :
◆.PT9876/4U :2008/04/15(火) 06:05:51 ID:aPNaApFu
>>154 >私のほうは全然進まない足踏み状態なので
なぜ? どうして?
>いずれジャバスクリプトも覚えてみたいです
"いずれ" と言う部分が引っかかります.
(僕の場合は その昔の Dion の掲示板 template の改造のため,
避けて通れなかったためです.
必死になってあれこれやっているうちに...)
>ジャバスクリプトとJスクリプトとはまた別なのでしょうか?
JScript は JavaScript に M$ の独自拡張が加えられた代物です.
その "独自拡張" のせいで JScript 記述の virus が蔓延したことがあったとか.
(web-page を見ただけで感染するので凶悪)
そもそもは IE を OS の仕様に取り込んでしまった M$ が悪い.
159 :
◆.PT9876/4U :2008/04/15(火) 23:09:16 ID:aPNaApFu
160 :
Name_Not_Found :2008/04/16(水) 14:58:00 ID:g+lV+8Rm
質問させてください。 テキスト入力フォームに文字を入力すると、 別のテキスト入力フォームにも同じ文字が入るスクリプトを作ってます。 var autoin=document.setting.basename.value; ↑まずbasenameと言うnameのvalueをautoinに代入。 if (document.forms[0].gaitou){document.forms[0].id.value=autoin;} ↑nameがgaitouに該当するフォームオブジェクトのvalueにautoinの値を入れる。 この時にnameがgaitou 尚かつ、inputtypeがhidden以外である事を条件に入れたいので何か良い方法をお願いいたします。
161 :
Name_Not_Found :2008/04/16(水) 15:09:36 ID:TfC/S1ho
質問です。よろしくお願いします。 親ウィンドウから子ウィンドウを呼び出し、 子ウィンドウで何か選択させた結果を 親ウィンドウのテキストボックス等に入れたいのですが、どうすればよいでしょうか? どうかよろしくお願いいたします。
get?post?
163 :
◆.PT9876/4U :2008/04/16(水) 23:42:58 ID:JmqpNd/X
>>160 >var autoin=document.setting.basename.value;
これって, 書いた本人にしか判らないんですけどぉ〜 ?
さらに一言 言わせてもらえば name attribute は廃止される予定.
(CGI に送信する場合は使わざるを得ないけれども)
document.forms[0].gaitou
"forms[0]" という表記法を使うならば
document.forms[0].elements[0] と言う表記に統一した方が...
(ほかに DOM による記述も可能)
>nameがgaitouに該当するフォームオブジェクトのvalueにautoinの値を入れる
どうも form 関連の理解が曖昧であると思えてなりません.
(何を言わんとしているのか判ったような判らないような...)
何をやろうとしているのかが判らないので答えようがありません.
164 :
◆.PT9876/4U :2008/04/16(水) 23:56:08 ID:JmqpNd/X
>>161 いわゆる pop-up window を嫌う人は非常に多くて,
そういう動作をしないように(web-browserを)設定している人は多いものです.
script として作ることは可能でも web-browser の設定を変えなければ
動作不良とみなされる代物にしかなり得ません.
少なくとも僕は その手のものが蔓延する事を好ましいとは思っていません.
したがってあなたの質問に答えることはできかねます.
165 :
Name_Not_Found :2008/04/17(木) 02:32:42 ID:/cg0hNO5
初めまして、 クリックした時に画面がグレーフェードアウト→もう一回クリックするとフェードイン とゆうようにしたいです 一昨日初めてジャバスク触りました。 手取り足取りお願いします。
166 :
◆.PT9876/4U :2008/04/17(木) 03:41:40 ID:JJA0Gz7m
>>165 fade-out, fade-in と言う言葉から連想するのは
"徐々に" 消えていったり現れたりするというもの.
このイメージで正しいのですか ?
JavaScript で CSS をいじれば可能だと思われますが,
いわゆる Gimmic 効果というか, ちょっと目を奪う程度で実用性はゼロですね.
ところで,あなたは何をお求めなのでしょう ?
1. サンプル
2. JavaScript で CSS をいじる方法
>>166 いっつもいっつもねちねちねちねち気分悪いんだけど
手取り足取りお願いしますって言ってるんだからサンプル貼って解説すればいいだろ
そうか? ここの解答者はヒントだけで済まさないから好感度抜群だと思うよ 試しに他所で聞いてみればいいじゃん 答えなんか出てこないよ ヒント言ってわかんない奴には罵声浴びせるだけ ここの解答者の爪の垢でも煎じればいいよ
あらあら、もうなんというか・・・
170 :
◆.PT9876/4U :2008/04/17(木) 06:11:30 ID:JJA0Gz7m
>>166 "ねちねち" というけれど, それは受け取る側が そう思うだけの話.
(単なる確認作業にすぎず, こちらに悪意がないことを理解して欲しい)
ここのような方信を取っていると幅広い質問が集まるのです.
中には "JavaScript の評価を落とすような質問" も含まれます.
質問者の言いなりに すべて答えるわけには いきません.
あなたは黙殺されるのと
たとえ苦言であっても反応があるのと
どちらが良いとお考えなのでしょう ?
171 :
◆.PT9876/4U :2008/04/17(木) 06:16:51 ID:JJA0Gz7m
172 :
>>165です :2008/04/17(木) 07:33:17 ID:/cg0hNO5
そうですね、徐々に消えてったり徐々に出てきたり。 1、自分としての目標がそれ(フェードアウト、イン)を作れるようになる、 2、そのスクリプトがなにをしているかを理解する という事なので解説つきで答えを知る事ができればうれしいです。
ジャバスクとか言ってるやつには教えたくない
>>173 http://pc11.2ch.net/test/read.cgi/hp/1208140663/ >>160 >テキスト入力フォームに文字を入力すると、
>別のテキスト入力フォームにも同じ文字が入るスクリプトを作ってます。
autoinの値取得云々には不明点が多いので、
とりあえず入力の内容を他のinputに反映するコード。
function copyText(elem)
{
var srcText = (elem ? elem.value : '');
var targ = document.forms[0].gaitou;
if ( targ && targ.type != 'hidden' )
targ.value = srcText;
}
<form id="testForm">
<input type="text" name="source" onkeyup="copyText(this)" />
<input type="text" name="gaitou" />
</form>
175 :
◆.PT9876/4U :2008/04/17(木) 17:00:53 ID:JJA0Gz7m
>>172 "人畜無害" と判断.
サンプル制作中.
prototype1.6.0.2なのですが ffでは動いたのですがieでは動かないのです。。なぜでしょうか>< よろしくお願いします。 function togglePallet(pallet) { if ($(pallet).style.display == "none") { Element.show(pallet); } else { Element.hide(pallet); } }
>>176 <input type="button" onclick="togglePallet('idTarg')" value="toggle"></input>
<div id="idTarg" style="background-color:#ffff00">foobar</div>
こんなのだとIE6,IE7の両方で正常に機能するから、
そのスクリプト以外の個所に問題が有りそうだけど。
とりあえず
function togglePallet(pallet) {
var targElem = $(pallet);
alert('pallet:['+pallet+'] elem['+targElem+']');
などと書いて、駄目な場合にはpalletとtargElemがどのような値になっているか確認するのが良さげ。
178 :
Name_Not_Found :2008/04/17(木) 17:53:48 ID:KOOVek3k
画像の上に矢印をもっていくと吹き出し風サムネイルがポコッて出るやつありますよねよね? あれってどうやってやってるんです?
えっと、簡単にメニューの最終更新アイコンを作ろうと思うのですが、 function lastUp(update){ 〜〜〜 } って感じに書いてメニューの横に <script>lastUp(080417)</script> って感じで呼び出ししようと思うのですが、 現在の時間を取得して、updateの080417との時差を求めるにはどうすればいいのでしょうか
182 :
◆.PT9876/4U :2008/04/18(金) 07:07:54 ID:dukJeEAr
>>179-180 素早い対応をモットウとしているのですが, 先約で手が塞がっています.
(だれか答えてやってくで !)
ゴメンナサイです _(_ _)_
183 :
>>165です :2008/04/18(金) 07:59:47 ID:f1btJ6+x
>>182 さん
申し訳ないですm(_ _)m
待ってます!
184 :
◆.PT9876/4U :2008/04/18(金) 17:17:22 ID:dukJeEAr
>>165 ,
>>172 サンプル:
homepage2.nifty.com/alter/fade/exam.html
js:
homepage2.nifty.com/alter/fade/exam.js
・ setInterval()の奇怪な仕様にてこずりました.
(global variable 使いまくりの ウゲゲ script です)
それと <button>〜</button> を使おうとしたのですが,
WaMCom で誤動作を起こすのでわざわざ input type="button" を使っています.
とりあえず, 動作確認ができるだけの代物です.
必要なら手直し, 動作説明をするつもりです.
(要請がないのなら省略)
185 :
◆.PT9876/4U :2008/04/18(金) 17:44:39 ID:dukJeEAr
>>178-179 ちょっと違うかもしれませんが...
homepage2.nifty.com/alter/samples/imgthumbnail/exam.html
186 :
◆.PT9876/4U :2008/04/18(金) 17:57:04 ID:dukJeEAr
>>181 "lastModified" は web-browser の対応がバラバラで使い物になりません:
www.tohoho-web.com/js/document.htm#lastModified
187 :
Name_Not_Found :2008/04/18(金) 19:13:42 ID:pFLLaBYR
prototype.jsについての質問です。バージョンは1.6.0.2です。PHPとの組み合わせなので、WEB開発板の方かとも思いましたが、javascript側の問題をまず疑い、こちらに質問します。 [やりたいこと] Ajax.Updaterを使って、test2.phpにローマ数字の「W」をURLエンコードしたもの渡し、その文字をそのまま返し、受け取ったその文字を領域"pane"に表示。(URLエンコードしているのは、Form.serialize()を使うことを想定しているからです) test.php(EUC-JP)……(ヘッダ指定等は省いて表記) window.onLoad=function(){ new Ajax.Updater("pane","test2.php?" + (new Date()),{method:"POST", parameters: "test=%85%A3%21"}); } test2.php(EUC-JP) <?php print $_POST["test"]; ?> [現状] ローマ数字が表示されません。Ajax.updaterを使わず、通常のフォームで「W」を送信すれば問題なく表示されますがこれは意図した動作ではありません。 [やったこと] test.phpでは、以下を試しました ・URLエンコードせず、"test=W"とした test2.phpでは、以下の組み合わせを試しました ・test2.phpを、UTF-8でアップロードした ・mb_convert_encoding( $_POST["test"], "EUC-JP", "UTF-8") ・urldecode($_POST["test"]) ・rawurldecode($_POST["test"]) ・処理の前にmb_internal_encoding('UTF-8')を記述 いずれも、何も表示されません。「あいう」等に続けて書いた場合、「あいう」が表示されます。また、後ろに「-----」をつけた場合、後ろ側も含めて表示されません。 なお、ネットで調べてphp.iniの「mbstring.encoding_translation」をOFFにしましたが、解決しませんでした。 通常のPOST送信では反映されるのに、Ajaxを使ったときにできないのはやはり上手くないので、どなたかお知恵を拝借したいと思います。
>>187 ・「W」は %E2%85%A3(UTF-8) です。
・「W」を mb_convert_encoding() するときは EUC-JP でなく eucJP-win で。
板違い個所しかわからないのです。
189 :
187 :2008/04/18(金) 23:52:12 ID:???
>>188 ありがとうございます。
今日はもう帰宅してしまったので、日を改めて試してみます
>>187 回答にはなっていないけど。
prototype.jsのAJAX送信時には、
parametersで指定されている文字列をdecodeURIComponentでデコードしてから、
encodeURIComponentでエンコードするので、
ページ自体の文字コードに関係無くエスケープされたUTF-8文字列(
>>188 )に変換される模様。
で、Win版Firefox2やIE6では"test=%85%A3%21"自体がdecodeURIComponentでエラーとなるようだけど。
191 :
187 :2008/04/19(土) 00:15:36 ID:???
>>190 ということは"test=あいうW"というように、平文のまま
parametersを記述ということでしょうか?
(実際にはForm.serialize(myform)という形でフォームごと送信
しようとして失敗しているので、小さい部分から試している所です)
なお、先の書き込みで「あいう」等に続いて…と書いたのは、
「あいうW」に当たる文字列を「URLエンコードして」渡したところ
「あいう」のみは表示されていた、という意味です。分かりにくくてすみません。
いま手元に実行環境がないので試せませんが、
日を改めて試してみたいと思います。
"W!"(隣のキー押しちゃった、の図)をエンコードした %E2%85%A3%21 から %E2 を削ったもので試してるように見える。
>>186 そういうことじゃなくて、
lastupの080417と、現在の080419の間を二日と求める方法です。
194 :
179 :2008/04/19(土) 13:39:23 ID:???
>>185 サンプルありがとうございます。
うーん、同一ウインドウではなく、別ウインドウ
あるいは吹き出しで出てきて、ページのレイアウトには変化が無いのが
理想なんですよね。
引き続きいいサンプルあったらヨロシクです。
196 :
187 :2008/04/19(土) 21:31:48 ID:6hbEin2t
昨日の方法をうけ、
>>188 ,190の方法を試してみたところ、
無事ローマ数字を表示できました。ありがとうございました。
ところが、別の問題が浮上してきました。ローマ数字の5の小文字版「D」を
HTMLのテーブル内に表示させようとすると「場・/td>」となり、</td>の
開きタグが化けてしまうのです。具体的にその箇所を抜き出すと、
print "<td>".htmlspecialchars(mb_convert_encoding($_POST["test"], "eucJP-win", "UTF-8") )."</td>";
//(ポストデータには、From.serializeで渡した"D"が入っています)
Dを好んで入力する人はいないと思いますが、不特定の人が使うものを想定しているので
アルファベット置き換え等に逃げることなく対応したいと思っています。
Javascriptで渡したデータは、PHP側でなにか特別なデコードなどが必要なのでしょうか?
重ねて宜しくお願いいたします。
win版php 5.2.5でのテスト結果。 EUCでのDは0xFCF5。 が、 mb_convert_encoding("D", "eucJP-win", "UTF-8"); を通すと0xF3F7が返ってくる。 ちなみにmb_convert_encoding("D", "EUC-JP", "UTF-8")だと変換不可な結果の"?"。 EUCのDやXを、eucJP-win->UTF-8で変換する場合は両方共文字化けするけど、 XのUTF-8->eucJP-win変換だけは正常に行われる模様。 要するに何故か変換出来ない状態なので、PHPスレで聞いた方が良さそう。 それと内部でEUCデータとして扱わないなら、わざわざEUCに変換する必要は無いのでは?
198 :
187 :2008/04/20(日) 00:34:05 ID:???
>>197 ご回答ありがとうございます。
つまり、PHP側の問題のようですね。それではこの質問は一旦打ち切りにして、
PHPの質問スレにポストすることにします。
>それと内部でEUCデータとして扱わないなら、わざわざEUCに変換する必要は無いのでは?
確かに内部ではUTF-8で扱っていますが(DBがUTF-8になっている)、これを表示する段階で
EUC-JPの文字コードで出力する必要があります。
それでは皆様、どうも有難うございました。
199 :
179 :2008/04/20(日) 00:44:26 ID:???
>>195 情報サンクスです!!
さっそく探してみます。
参考リンクもかなりイメージに合ってますので
こちらも熟読させていただきます。
>>198 蛇足かもしれないけど。
現在の多くのブラウザでは、
AJAXの場合は、サーバー側のレスポンスヘッダでContent-typeで文字コードを指定すれば、
HTMLページの文字コードと同じにする必要は無い(ブラウザ側で自動変換)ので、
HTMLや通常のPHP出力ではEUCだが、AJAXに対する出力だけUTF-8にする事も可能。
というかdefaultではUTF-8が想定されているので、EUCだと駄目な(古い?)ブラウザも有る模様。
201 :
Name_Not_Found :2008/04/20(日) 07:00:48 ID:YBcoq57o
>>193 すると " lastup" は "定数" なのかな ?
すると単なる日付計算の問題となってしまう.
そうなると "数値の format" も変更したほうがよさそう.
参考:
www.tohoho-web.com/js/date.htm#Date
(批判の声も少なくないサイトだけど reference としては まだまだ使える)
202 :
187 :2008/04/20(日) 12:12:08 ID:???
>200 ご回答いただきありがとうございます。 ご提示いただいた方法を試したところ、無事、意図した表示ができるようになりました。 具体的には、 (test2.php) header("Content-Type: text/html;charset=utf-8");//文字コードをUTF-8にする print "<td>". htmlspecialchars($_POST["test"])."</td>";//UTF-8を出力 これを、EUC-JP(eucJP-win)で記述したtest.phpからAjax.updater()で 呼び出し、文字化けが起こらないことを確認できました。 今回のことをまとめると: ・Ajax.request系(というかJavaScript)でPOST送信する際は、どのような文字コードであれ UTF-8で送信される ・PHP上でEUC-JPを扱うときは、eucJP-winを使う(Windows限定?) ・Ajax.updateでレスポンスを受け取る際は、レスポンス側で明示的にヘッダを指定しておけば 受け取り側のデコードは、よきにはからってくれる(UTF-8が無難)。 今回の一連のやり取りは、非常に大きな財産となりました。 ご回答いただいた皆様、ありがとうございました。
203 :
193 :2008/04/20(日) 17:46:32 ID:N3uxyx7k
>>201 様
lastupは引数です。
メニューの横に
メニュー1<script>lastUp(080420)</script>
メニュー2<script>lastUp(080415)</script>
こんな感じにして、最終更新と現在の時間の差を求めて
何日前に更新したかというメッセージを表示させたいのです
204 :
Name_Not_Found :2008/04/20(日) 18:26:55 ID:YBcoq57o
>>203 言っている意味は一致しているようであり, 微妙に食い違っているような...
念のためだけど, "080420", "080415" などは document ごとに
制作者が書きこむということで正しいのかな ?
(僕が "定数" と表現したのはこの意味... argument でも大ざっぱには同義)
ようするに これらの文字列をどこから引っ張って来るのかということ.
weblog の plug-in 感覚なんだろうか ?
(script としては難しくないけれど, 泥沼にはまりそうな よか〜ん.)
205 :
188 :2008/04/20(日) 18:44:35 ID:???
// もう見てないかな。
>>202 > ・PHP上でEUC-JPを扱うときは、eucJP-winを使う(Windows限定?)
Windows限定でなく、当初の「W」などは狭義の SJIS や EUC-JP にないんです。
SJIS を拡張していろんな文字を追加したものを PHP では SJIS-win、
EUC-JPを (中略) eucJP-win として扱うことになってます。
Shift_JIS と CP932 の違い、EUC-JP と CP51932 の違いを調べてみてください。
// 多くの人たちが Shift_JIS だと思い込んでるのは CP932 な場合が多いです。
また板違い個所の話になってすみません。 > all
206 :
320 :2008/04/20(日) 18:48:35 ID:???
>>204 様
その通りです。
更新したらそこを書き換えるような感覚です
メニュー1 メニュー1-1 メニュー1-2 メニュー2 メニュー2-1 メニュー2-2 こんな感じでメニューがあって 大メニューをクリックすると小メニューを折りたたんで、 もう一回クリックすると開くようにするにはどうすればいいのですか?
208 :
Name_Not_Found :2008/04/20(日) 19:18:13 ID:K7rGXREB
>>206 了解.
で, 僕はどうすればいいのかな ?
取り合えず動くだけのサンプル作るということで OK ?
(更新の手間とかの配慮なしで日数計算のみにポイントを置く)
209 :
Name_Not_Found :2008/04/20(日) 19:25:39 ID:K7rGXREB
>>207 JavaScript で target.style.display を 切り替える.
原理的にはこれだけのもの...
だけど 細かい部分の違いで さまざまなバリエーションが考えられます.
さて, あなた様のお望みは ?
210 :
206 :2008/04/20(日) 19:45:38 ID:N3uxyx7k
211 :
208 :2008/04/20(日) 19:58:37 ID:K7rGXREB
>>210 了解.
この季節は やたらと眠くて... 時間掛るかも...
だけど, 約束は守ります.
212 :
207 :2008/04/20(日) 19:59:39 ID:???
213 :
Name_Not_Found :2008/04/20(日) 20:26:39 ID:K7rGXREB
>>212 以前作ったものがあったはずなんだけど... (紛失)
てなわけで, 先約を片ずけてから作りなおすことになります.
質問です。(プログラム板から誘導されてきました) あるJavasprictを改造中なのですが、フォルダの構成上、ファイルまでのパスをURL指定にしたいのですが、 以下の記述をどのように修正すればよいのでしょうか? downloadDir : '../ファイル名.php?img=フォルダ名/'
何をしたいのかよく分からないんだけど、 クエリの後にスラッシュってつくもんなの?
>>207 <style type="text/css">
#menu ul { display: none; }
</style>
<script type="text/javascript">
function toggle(target) {
var elem = document.getElementById( target );
if ( !elem ) return;
elem.style.display = (elem.style.display!='block' ? 'block' : 'none');
}
</script>
<ul id="menu">
<li id="menu1" onclick="toggle('sub1')">メニュー1<ul id="sub1"><li>サブメニュー1_1</li><li>サブメニュー1_2</li></ul></li>
<li id="menu2" onclick="toggle('sub2')">メニュー2<ul id="sub2"><li>サブメニュー2_1</li><li>サブメニュー2_2</li></ul></li>
</ul>
えらく簡単に書けばこんな感じ。
サブメニューを初期で非表示にしたいなら、cssで該当個所にdisplay:noneを設定しておく。
次にクリックによる反応をさせたい個所にイベント(onclick)を設定し、
そのイベントからの処理で、表示切替したい個所のstyle.displayを変更。
通常は全てのタグにonclickを書くなど面倒な事はしないし、
メニュー1,2にアンカー(<a>)が設定されていた場合にはイベントでpreventDefaultなどを行うとか、
実際の運用時には追加変更すべき点が多いけれど、基本的にはこのような処理。
217 :
Name_Not_Found :2008/04/21(月) 07:17:43 ID:bpP9CRFh
今、掲示板を自作しているのですが、 各レスごとにページ内リンク(一番目のレスだと<a href="#1">)をつけていて、 レスアンカーをクリックすると、該当レスに移動するようにしています もっと便利にしたいと思い、レスアンカーにマウスをのせるだけで該当レスがポップアップで表示されるようにしたいのですが、 JavaScriptに関しては全くわかりません どのようにすればいいのでしょうか よろしくお願いします
218 :
217 :2008/04/21(月) 07:23:08 ID:bpP9CRFh
すいません
>>217 訂正です
×各レスごとにページ内リンク(一番目のレスだと<a href="#1">)をつけていて、
○各レスごとにページ内リンク(一番目のレスだと<a name="1">)をつけていて、
read.js でも読めば?
2.の場合の簡易サンプル <style type="text/css"> .msgList li { position: relative; } .message { width: 400px; border: 1px solid #600000; margin-bottom: 20px; } .msgDate { background-color: #ffdd00; color: #000000; } .popupMsg { filter: alpha(opacity=70); opacity: 0.7; position: absolute; top: 20px; left: 40px; background-color: #ffffff; border: 1px solid #600000; } </style> <script type="text/javascript"> var cloneElems = {}; function popupMsg( baseElem, messageid ) { if ( !baseElem || cloneElems[messageid] ) return; var elem = document.getElementById( messageid ); if ( !elem ) return; var clone = elem.cloneNode( true ); clone.id = ''; clone.className = 'popupMsg'; cloneElems[messageid] = baseElem.appendChild( clone ); } function hideMsg( baseElem, messageid ) { if ( !baseElem || !cloneElems[messageid] ) return; baseElem.removeChild( cloneElems[messageid] ); cloneElems[messageid] = null; } </script> <ul class="msgList"> <li onmouseover="popupMsg(this,'msg1')" onmouseout="hideMsg(this,'msg1')"><a href="#1">レス1</a></li> <li onmouseover="popupMsg(this,'msg2')" onmouseout="hideMsg(this,'msg2')"><a href="#2">レス2</a></li> </ul> <div id="msg1" class="message"><a name="1"></a><div class="msgDate">Apr 20 2008, 07:24 PM</div><div class="msgBody">foobar</div></div> <div id="msg2" class="message"><a name="2"></a><div class="msgDate">Apr 19 2008, 05:10 AM</div><div class="msgBody">hoge</div></div>
222 :
◆.PT9876/4U :2008/04/21(月) 12:51:23 ID:Fdos8Q2T
>>210 サンプル:
homepage2.nifty.com/alter/samples/timecalc/exam.html
js:
homepage2.nifty.com/alter/samples/timecalc/exam.js
・ "Month" を "Apr" 形式に変換するという激しく無駄なことをやってます.
(web-brouzer ごとの解釈の違いが発生しにくいだろうと考えてのことです)
(実際, 有効な format は複数あって自動解釈される模様)
参考リンク:
1106.suac.net/johoB/JavaScript/jscriptd.html#date
("とほほ" よりも良いのでは? 激しく読みづらいけど...)
("とほほ" は良く整理されているけれど,
今時, IE2 だとか使う やつぁ いねぇよ !)
ワロタ
json データって データ内にタグ付きの文字列をいれてjson_encode使っても問題でない? missing } after property listってエラーがでてプロパティにアクセスできないんだけど
>>224 json_encodeというのはPHPの関数しか知らんけど、
PHPのjson_encodeなら問題無いはず。
エラーが出るのは、json_encodeで吐いたデータの前後に余計な文字列が加わっているなどでは。
227 :
Name_Not_Found :2008/04/21(月) 18:30:54 ID:bpP9CRFh
228 :
◆.PT9876/4U :2008/04/21(月) 18:47:56 ID:Fdos8Q2T
>>227 動作確認のためのサンプルなので,
(select field を使ったりして)
希望通りのものとは似ても似つかない...
改造できるのですか ?
無駄が多いとはいえ, 単純なので大丈夫のかな ?
>>226 タグ付き文字列はだめやったわ
んでHTMLすぺしゃるきゃらくたーず つかってやったところでなくなったでやんす
自己レスになったでごんす
230 :
みょ :2008/04/22(火) 08:55:15 ID:???
javascript で外部のhtmlを取得してブログなどの記事部分だけを取得したいんだけど なんかいい方法はないっすか? 希望ではローカルPCにスクリプトを置いておいてスクリプトからhttpでrequestだして class名指定かID指定で記事取得したいんだけど。←このへんはprototype.jsか なんかつかって <気になる点> ・httpへのリクエストがクロスドメインになる ・ローカルでjavascriptをバッチで実行 ってできるん?
>>230 ローカルから request できるのは IE6 だけ
クロスドメインは全ブラウザ不可能
233 :
みょ :2008/04/22(火) 11:43:54 ID:???
やぱ 無理ぽいですな クロスドメインもJSONPみたくするには 取得サーバ側で対応する必要があるとは思って いたけど
IEのinnerHTMLって WEBからとってきたタグ付きの文字列(具体的にはimg srcなどで onclickでWindow.Openなども含まれている) をhoge.innerHTMLでだしてみるんだけど 画像パスがおかしくなるのってIEの仕様でつか?
>>181 解決したのか否かは不明だけど、面白げなテーマなので試しに書いてみた。
<script type="text/javascript">
function lastUp( lastmod ) {
alert( calcElapse(lastmod) );
}
var msecperday = 1000*60*60*24;
function calcElapse( lastmod ) {
if ( typeof lastmod != 'string' ) return NaN;
var curDate = new Date();
curDate.setHours( 0,0,0,0 );
var values = lastmod.match( /\d{2}/g );
if ( values.length < 3 ) return NaN;
var update = new Date( 2000+Number(values[0]), Number(values[1])-1, values[2] );
if ( !update ) return NaN;
return Math.floor( (curDate.getTime()-update.getTime())/msecperday );
}
</script>
<script>lastUp('080422')</script>
<script>lastUp('070131')</script>
<script>lastUp('090421')</script>
lastUpの引数には'か"で囲まれたyymmdd形式の文字列を指定。
calcElapseに更新日文字列を渡すと、今日の日付との日数の差分を返し、
文字列が無効な形式であった場合など、差分を取得出来なかった場合はNaNを返す。
後は取得出来た数字を使って、lastUp内の処理で表示するなり何なりどうぞ。
2000年と2100年問題には未対応。
236 :
Name_Not_Found :2008/04/25(金) 14:27:54 ID:52i12fhG
すみません、質問させて下さい。
凄い初歩的な事だとは思うのですが、どうにも上手くいきません。
ttp://never-ever.info/modules/bulletin/index.php?page=article&storyid=346 ここで紹介下さっているスクリプトについて
webページを開いた最初の1回だけ自動で並び替えを実行したいのですがどのようにすればよいでしょうか?
最初の1回以降は自分でドラック&ドロップする形で。
以下のような方法で、Sortable.create("sort");としてみたり、onloadとしてみたりしたのですが上手くいきません。
どうかお力添えして頂けないでしょうか。
宜しくお願い致します。
// <![CDATA[
Sortable.create(
'sort',
{
constraint: false,
handle: 'hl',
onUpdate: function( ele ) {
var weight = 1 ;
Sortable.sequence( ele ).each(
function( num ) {
$('sw_'+num).value = weight++ ;
}
) ;
}
}
);
Sortable.create("sort");
// ]]>
</script>
プルダウンの一部だけ文字列を変更したいのですが、サッパリです 実際書いてるJavascriptは長いので、分からないところだけ簡素化して記述します <html><head> <script language="javascript" type="text/javascript"> function change(){ document.form.select.value.getElementById('a3').innerText = "DDD"; } // --> </script> </head><body> <form name="form"> <select name="select" size="1" tabindex="0"> <option selected value="0">aaa</option> <option value="1">bbb</option> <option value="2">ccc</option> <option value="3"><span id="a3">ddd</span></option> <br> <input type="button" onClick="change()" value="GO"> </form></body></html>
document.getElementById('a3').innerHTML var select = document.forms['form'].elements['select'] select.options[select.selectedIndex]
<html> <head> <script> function textChange(){ a3.innerText = "DDD"; } </script> </head> <body> <select> <option>aaa <option>bbb <option>ccc <option id="a3">ddd </select> <input type="button" value="変換" onclick="textChange()"> </body> </html> これでどうだろうか?
240 :
237 :2008/04/25(金) 22:35:59 ID:???
ありがとうございました!!!
z=x+y; のとき 変数aを作ってz+bを代入するにはどうすればいいですか?
>>239 初心者相手の新手のイタズラ?
本人にとっては大事な時期なんだから、むしろいつもよりしっかりしたコードを書いてあげるべきだと思う
>>237 <option>の中では文字データだけが有効なので、
<option value="3"><span id="a3">ddd</span></option>
は、<span>が存在しないものとして<option value="3">ddd</option>としてブラウザに解釈される。
その為document.getElementById('a2')も無効。
なのでoptionとして表示される文字列を変更したい場合には、
>>239 のようにoption自体にIDなどを割り振って、
var elem = document.getElementById('a3');
elem[(elem.innerText!=undefined ? 'innerText' : 'textContent')] = "DDD";
とか。
IE以外にも対応する為に、textContentでの設定も行った方が良さげ。
>>236 Sortable.createの後に、
順番を指定した配列をSortable.setSequenceに渡すと、その順番に並び替える事が可能。
この例ではseqDataという名前の固定データを利用しているけれど、
実際はfragment-idやCookieなどからデータを取得し配列を作成するケースが多いかな。
Cookieを利用するサンプルが
>>142 。
Sortable.create(
'sort', {
constraint: false, handle: 'hl',
onUpdate: function( ele ) {
var weight = 1 ;
Sortable.sequence( ele ).each( function( num ) { $('sw_'+num).value = weight++; } );
}
}
);
var seqData = [10,1,9,2,8,3,7,4,5,6];
Sortable.setSequence( 'sort', seqData );
var weight = 1 ;
Sortable.sequence( 'sort' ).each(
function( num ) { $('sw_'+num).value = weight++; }
);
>>242 ごめん、質問スレと間違えた…
自分としては最低限の部分だけ提供したつもり。
>>245 確かに、あっちならネタだと気付いてもらえたかもしれないね
でもこっちでああいうことをすると、もしかしたらその人が引退するまで
>>239 みたいなコードを量産し続ける恐れがあるわけで。
せめて "最低限" の JavaScript を提供してね
あんなクソース量産されたら困るわな
248 :
◆.PT9876/4U :2008/04/27(日) 13:24:44 ID:otfhk5pv
先週末から "ずっと人大杉" 状態で読むことさえも不可能でした. しかし質疑応答が続いてる... ということは nifty だけ弾かれていたってこと ? (故意に特定の ISP を弾いて金を無心すると言う噂は... もしかして)
>>246 コードも書かずにただ暇潰しに説教をする為に来るような連中も、
このスレには必要無いけどね。
まあ ID 出ないしねぇ
>>248 ふつうに2chブラウザで読めば良いだけの話とちゃうのか?
ネタソース>説教で上級者振り
>>246 つーかその前にDOMかけてるんだからそのコードもちゃんと改良して書けると思われ。
255 :
◆.PT9876/4U :2008/04/27(日) 19:24:06 ID:otfhk5pv
>237 もう解決済み ? >プルダウンの一部だけ文字列を変更したい こういうときには document.form.select.value.getElementById('a3').innerText ( "innerText" のサポートは IE のみのはず) と言う記述よりも form 操作の基本の記述の方が使いやすいです: document.forms[x].elements[y].options[z].text='DDD'; (もしくは document.forms[x].elements[y].options[z].value='DDD';) これが form 操作の基本なので この理解ができていれば応用が効きます. (document.forms[x].elements[y] までの部分を DOM でアクセスするとか)
>>253 ____
/ \ /\ キリッ
. / (ー) (ー)\
/ ⌒(__人__)⌒ \ お前はJavaScript界全体から不要だよ
| |r┬-| |
\ `ー'´ /
ノ \
"スレの常連"だとか"JavaScript界"だとか、
JavaScript質問スレ関係は真性による珍妙発言が多いから面白いね。
257 :
Name_Not_Found :2008/04/28(月) 00:45:08 ID:8hTx4yM1
<img name="test" src="
http://ooo.net/z?s=AAA&1 " border="0"></a>
<input onclick="document.test.src='
http://ooo.net/z?s=AAA&1 '" type="button" value="a">
<input onclick="document.test.src='
http://ooo.net/z?s=BBB&1 '" type="button" value="b">
<input onclick="document.test.src='
http://ooo.net/z?s=CCC&1 '" type="button" value="c">
<input onclick="document.test.src='
http://ooo.net/z?s=DDD&1 '" type="button" value="d">
↑
現在このように画像を切り替えられるようにしているのですが
さらに以下のボタンを追加して「&1」の「1」の部分だけを「2」に変えて画像を表示できるように
したいのですが(デフォルト表示では1)どのように書けばよいでしょうか? 御願いいたします。
<input onclick="document.test.???????='1'" type="button" value="画像バージョンを1に切り替える">
<input onclick="document.test.???????='2'" type="button" value="画像バージョンを2に切り替える">
↑
イメージ図(まったくわかりません)
>>257 1. 画像を表示するimgタグにid=idImgを設定。
2. 変更ボタンのonclickで、&1以前のURL(
http://example.com/z?s=AAAなど )を引数として指定し、setImageを呼び出す。
3. 切り替えボタンのonclickで、切り替えたい数字を指定してchangeIdxを呼び出す。
<script>
var appendIdx = 1;
var range = {'min':1,'max':2};
function setImage( url ) {
var elem = document.getElementById( 'idImg' );
elem.src = url + '&' +appendIdx;
}
function changeIdx( idx ) {
appendIdx = ((range['min']<=idx&&range['max']>=idx) ? idx : range['min']);
}
</script>
<img id="idImg" name="test" src="
http://example.com/z?s=AAA&1 " border="0"></a>
<input onclick="setImage('
http://example.com/z?s=AAA ')" type="button" value="a">
<input onclick="setImage('
http://example.com/z?s=BBB ')" type="button" value="b">
<input onclick="setImage('
http://example.com/z?s=CCC ')" type="button" value="c">
<input onclick="setImage('
http://example.com/z?s=DDD ')" type="button" value="d">
<input onclick="changeIdx(1)" type="button" value="画像バージョンを1に切り替える">
<input onclick="changeIdx(2)" type="button" value="画像バージョンを2に切り替える">
ただこれだと、現在選択されているバージョンが判らないのと、 バージョンが増えた場合にボタンの数も増えるので、切り替えボタンを変更してみる。 下記のコードを上記に追加すると、ボタンを押す毎に設定するバージョンが切り替わる。 バージョンの範囲は、 var range = {'min':1,'max':2}; の値で変更可能。バージョン1から4まで有効にしたい場合にはmaxを4に設定。 <script> function getNextIdx() { var tmpIdx = appendIdx+1; return (tmpIdx>range['max'] ? range['min'] : tmpIdx); } function toggleIdx( elem ) { appendIdx = getNextIdx( appendIdx ); elem.value = '現在のバージョン'+appendIdx+' 画像バージョンを'+getNextIdx(appendIdx)+'に切り替える'; } </script> <input onclick="toggleIdx(this)" type="button" value="現在のバージョン1 画像バージョンを2に切り替える">
261 :
257 :2008/04/28(月) 17:29:46 ID:???
>>259 ありがとうございます。
実際には&1の1部分は文字列になっているのですが
maxの値もその文字列を指定すればいいのでしょうか?
262 :
Name_Not_Found :2008/04/28(月) 18:35:57 ID:ZwdN243g
263 :
◆.PT9876/4U :2008/04/28(月) 19:55:57 ID:lk7CAgp9
>>262 >ソース見てもわかりませんでした
ソース汚なすぎ !!!
(わざと複雑にしているんだろうなぁ)
時間が掛りますがサンプルは作れるでしょう.
ただし, この手の Gimmic 効果を生む library は いろいろ出回ってます.
使い方が解っていれば それを利用した方が簡単かもしれません.
ただ... ぼくは "black-box" な存在である "library" は肌に合いません.
264 :
◆.PT9876/4U :2008/04/28(月) 20:02:19 ID:lk7CAgp9
>>258 URL が同一 domain であるなら XMLHttpRequest などの手が使えるでしょう.
しかし, たとえば Google の "Cach" のような事を考えているのであれば,
JavaScript の守備範囲から外れます.
すいません質問があります。 ブラウザで表示中の画像をファイルに保存したいのですが、 imageオブジェクトを触れるところまでは行きました。しかし、その後でつまづいております。。 ActiveWin.Images( 0 ) が目的のイメージオブジェクトだとして、これを例えば c:\test001.bmp として保存したい場合どうすればいいのでしょうか?
266 :
◆.PT9876/4U :2008/04/28(月) 20:45:21 ID:lk7CAgp9
>>265 >これを例えば c:\test001.bmp として保存したい
JavaScript は security 上の問題発生を避けるため
そのようなことはできないように設計されています.
IE 限定の JScript なら可能かもしれません.(詳しくは知りませんが)
しかし, このスレッドでは そのようなテーマは対象外です.
267 :
265 :2008/04/28(月) 20:47:43 ID:???
>>266 レスどうもありがとうございます
検討違いな質問をしてしまい失礼いたしましたm(_ _)m
もうちょっと基礎からやり直してきます
268 :
262 :2008/04/28(月) 21:12:51 ID:ZwdN243g
>>263 ありがとうございます。
やはりわざと複雑にしてるみたいですね(ヤフーめ!
サンプルお待ちしています。
ちなみに難しい用語はよくわからないです。
269 :
◆.PT9876/4U :2008/04/28(月) 21:27:39 ID:lk7CAgp9
>>268 了解.
dialogue の表示場所の計算が ちょっと面倒なので 2〜3 日は掛るでしょう.
でも, 今日は遅いから (ねむくて...)
>>268 >やはりわざと複雑にしてるみたいですね
そんな事は有り得ない。
素人がソース(プログラム文)を見ても理解出来ないだけ。
そもそもただ使う分には、
API(機能群とそれを利用する為の規約/仕様)のドキュメント(文章)が用意されているので、
素人がソースを見る必要も無いけれど。
271 :
262 :2008/04/28(月) 23:37:00 ID:???
>>270 たしかに僕はソース見てもわかりません。
でも教えてくれる人がいないので
>>269 さんを待つことに決めてます。
>>261 'max':'1'のような文字列でも'max':1のような数値でも、
この場合は文脈によって適切に変換されるのでどちらでも問題無し。
>>259-260 ではバージョンナンバーが連続した数値という事を前提にしてしまっているので、
a,bのようなアルファベットや、'foo','bar'のような文字列も利用したい場合には、
>>259 のchangeIdxでのチェックを省いて、
function changeIdx( idx ) {
appendIdx = idx;
}
のようにして下さい。
その場合にはvar range = {'min':1,'max':2}; の記述も不要。
>>264 レスありがとうございます。
GoogleのCachというのが検索してみてもよくわかりませんでした。βサービスかなにかですか?
JavaScriptのソースを眺めていて、思いついたことなのです。
やりたいことは、
1.親ページで隠しiframeを使い子ページ(連番)を開く
2.jsで隠しiframe内の子ページが持つbody要素内を取得する ←innerHTMLとかでできそう
3.取得した子ページのhtml要素を親ページに書き出す。 ←tableと組み合わせて一覧表にできそう
4.連番の子ページを、frameを使わない親ページの一部としてhtmlを構成する。
関係有りそうなキーワード: innerHTML cloneNode() importNode あたりかなと。
ということなんですが…jsで出来ることを超越してしまっているでしょうか。
これが突破できたなら、
取得した子ページのhtml要素をチェックして、
一覧に加えるかどうかを自動判別したいなと考えています。
>>273 Cachとやらはあんまり気にしない方が良いよ。
これまでの発言履歴をざっと見てみれば傾向が分かるかと。
単にcacheのことを言いたいんだろうから、察してあげて。
275 :
◆.PT9876/4U :2008/04/29(火) 04:56:47 ID:ahYvJZ56
>>270 edit.yahoo.co.jp/config/eval_register
の HTML部の事を僕は言ってるんだけど.
(document.write()で <script>〜</script> を書き出すなど, 謎な部分 多すぎ)
>>271 気にする必要はありません.
>>273-274 うっ! (恥ずかしいスペルミス... 近ごろ多すぎ)
>>273 frame, iframe などには多くの問題点がありますが,
その内の一つに
"他人のコンテンツをあたかも自分のコンテンツのように表示できる可能性"
があります.
これは一般的にルール違反とされています.
他人のコンテンツを加工して表示するのも同様です.
Google の "cache" は この点でグレーゾーンと言えなくもありません.
(あまり問題にされていないようですが...)
276 :
◆.PT9876/4U :2008/04/29(火) 20:22:31 ID:GrVHofSG
>>261 サンプル:
homepage2.nifty.com/alter/samples/popuptext/exam.html
・ script よりも素材作りに苦心したりして...
・ popup-text の表示開始位置は
ボタンにポインターが乗ったときの
ポインターの座標を元に計算しています.
(なので そのタイミングにより微妙に上下左右に...)
・ 動作確認: WaMCom(Mozilla1.31相等)
どういうものか IE5.17(MacOS9.x 最終盤) では動作不良を起こします.
(script そのものの問題ではなく, CSSレンダリングの問題の模様)
・ 希望があれば手直し もしくは zip 圧縮などの手配をします.
>>275 公開予定がない自分用として、としてもダメなんですかね。
出来る出来ない自体も回答いただけてませんが調べ続けてみます。。
>>270 >>やはりわざと複雑にしてるみたいですね
>そんな事は有り得ない。
>素人がソース(プログラム文)を見ても理解出来ないだけ。
流れと関係ないけど、難読化や圧縮が常用されてるご時世に、
その解答は感心しませんな
ましてや初心者への解答を趣旨とするスレで。。
Google物のjs群をみて「これはわざとじゃない」とか
のたまえる方の解析マニアなら、逆にそんな言葉は出て来んだろうしな
279 :
◆.PT9876/4U :2008/04/30(水) 05:20:24 ID:yBAEg2UA
>>277 >>258 前半部:
"iframeなどを使って"
>>258 後半部:
" iframeを使わず"
どっちなんですか ?
(僕も恥ずかしいミスが多数あるので偉そうなことは言えませんが)
仮に "iframe を使ってでも力ずくで" と言う話なら僕の出番はありません.
ぼくは XHTML 1.0 strict の支持者なので frame, iframe は禁じ手だからです.
他の回答者の出現を待ってください.
frame のたぐいを使わないのなら いわゆる Ajax を利用することになりますが,
こちらの方は "同じ domain に限る" と言う制限があります.
ただし, IE の ActiveX 利用の場合は話が別なようですが...
この場合も僕の出番は あり得ません.
>>279 中身の取得にはiframeなどを利用して、
表示自体には使わない。
という意味です。紛らわしくてすみません。
失礼いたします。 はじめは占い系スクリプトを改変してやろうとしていたのですが、要素が一定数以上になると 表示がされなくなってしまいます。下記のソースは省略したものです。 (例えば字の数が1000個だとすると、1〜1000の乱数を変数a,bにそれぞれいれて、 1文字目・2文字目をifで取得、最後に表示させるようなものだと解釈しています) まずどうにかして文字を1000以上使いたいです。 可能ならば、もうすこし簡単なスクリプトにしたいです。 <script language = "JavaScript"> function myrandom(max) { var v = max * Math.random() if (v == 0.0) {v = 1;} else {v = Math.ceil(v)} return v} var r = myrandom(1000); //1文字目 if(r==1) {c="私"} …(省略)… if(r==1000) {c="君"} var j = myrandom(1000); //2文字目 if(j==1) {d="私"} …(省略)… if(j==1000) {d="君"} document.write("<p>" + "【" + c + d + "】" + "</p>") </script> 宜しくお願いします。
>>282 <script type="text/javascript">
function myrandom(max) {
return Math.floor(Math.random() * max) + 1;
}
var a = ['私', '君', ...];
var c = a[myrandom(a.length)];
document.write('<p>' + '【' + c + '】' + '<\/p>');
</script>
>>283 素早い回答、ありがとうございました。
かなり短くできるのですね。
285 :
◆.PT9876/4U :2008/05/01(木) 12:14:08 ID:GpZvn/5z
別に お礼を言って欲しくて やってるんじゃないんだけど, サンプルを発表すると無反応になる のは なぜなんだろう. せめて動作確認の報告を返して欲しい. (僕の PC 環境は特殊すぎるので 違う環境の人の動作確認情報は貴重) 問題があるのなら手直しします ! (というか手直ししないと使えないものばかり)
286 :
Name_Not_Found :2008/05/01(木) 12:30:03 ID:8LtS/N5+
こちらで良いのかわかりませんが、よろしくお願いします。 テキストボックス+セレクトボックスの機能を 作りたいのですが、可能でしょうか?
>>287 分かりにくくてすいません。
セレクトボックスのように、リストから選択も選ぶことも可能だけど、
テキストボックスのように手入力もできるというものなのですが。。
289 :
◆.PT9876/4U :2008/05/01(木) 13:07:36 ID:GpZvn/5z
>>288 で, 最終的に どうしたいのかな ?
ページジャンプさせるのが ほとんどだろうけど これで OK ?
>>289 対象の HTML の断片を貼ってあげればいいんじゃないの?
291 :
◆.PT9876/4U :2008/05/01(木) 13:41:20 ID:5UVaSIZn
>>290 意味が分かりません
冗談はさておき, 何かの目的のため,
select field と text field の併用が必要らしいのは解る.
ここで問題となるのが優先順位.
両方カラの場合も あるし, 両方 value のある場合も ありえる.
それにしても
>>288 の求めるものは何なのだろう ?
>>289 ページジャンプは別のボタンで行っています。
上手く説明できなくてもどかしいですが、
POSTorGETで送信する時にそのセレクト&テキストボックスのvalueを次の画面に
渡せればいいです。
>>291 だから、最終的にどうだとかあんたには関係のない話。
ぐだぐだ言うなら最初から関与しなければいいじゃない
294 :
Name_Not_Found :2008/05/01(木) 13:52:51 ID:8LtS/N5+
リロードすればよかった。
>>291 検索画面を作っていて、当初はセレクトボックスで選べるようにしていたのですが、
セレクトボックスで逐一選ぶのも面倒だという人のために
直接入力も可能なものを作りたかった次第です。
優先順位は
直接入力>セレクト
両方空も有です。
295 :
◆.PT9876/4U :2008/05/01(木) 13:53:06 ID:5UVaSIZn
>>292 POSTorGET ?
テキストボックスのvalueを次の画面 ?
すると CGI 相手に何かがしたいってこと ?
で, それは どういうたぐいの物なのかな ?
<form action=""> <input type="text" name="hoge"> <script type="text/javascript"> (function() { var a = ['これ', 'それ', 'あれ', 'どれ']; var s = '<select onchange="this.form.elements.hoge.value=this.value">'; for (var i = 0, len = a.length; i < len; i++) { s += '<option value="' + a[i] + '">' + a[i] + '<\/option>'; } s += '<\/select>'; document.write(s); })(); </script> <input type="submit" value="送信"> </form>
297 :
◆.PT9876/4U :2008/05/01(木) 14:01:39 ID:5UVaSIZn
>>294 書きこみのすれ違いがあるようですが,
ようやく判って来ました.
たとえば inpt type="hidden" を用意して
定められた優先順位に従って value を渡せば いいのね.
下げ忘れました。あんま関係ないですが。
>>295 CGI相手に何かがしたい、ですね。
>で, それは どういうたぐいの物なのかな ?
検索画面です(答えになっています?)
299 :
◆.PT9876/4U :2008/05/01(木) 14:11:17 ID:5UVaSIZn
>>296 回答の批判は避けてるけど ありえねぇ〜 !!!
動作確認して書いてる ?
>>298 ここは上げ下げ関係なしです.
とりあえず
>>297 の条件でサンプル書くってことでどう ?
スレ進行速度に書込み速度がついていけない私
>>296 物凄い勢いでコードまで書いていただきありがとうございます!
動作確認しました。
かなり良い感じです。ありがとうございます!
できれば、できればでいいのですが、完全一体化していただきたいっっ
>>299 上げ下げ関係なしなんですね。
>>297 の条件で構いませんのでよろしくお願いいたします。
>>300 そう言うだろうと思ってたけど、「完全一体」は CSS とか必要でなかなかめんどくさい
◆.PT9876/4U 氏がもっとすばらしいものを書いてくれるそうなので、俺はこれで失礼します^^
>>301 CSSも必要なんですね。面倒なことお願いして申し訳ありませんでした。
スラスラとあんなコード書けるのがうらやましいです。ありがとうございました!
303 :
◆.PT9876/4U :2008/05/01(木) 14:36:27 ID:5UVaSIZn
>>300 どうせだから CGI の入手先を教えてもらえないかな ?
どうせなら CGI と連動するサンプルの方がおもしろいのでは ?
(ただ, nifty で動くようなものは極めて少ない)
(そのときは xrea と再契約...)
>>303 申し訳ないです、サーバはJava(フレームワークにStruts2)使っているんです。。
Javaのソースならお渡しできるのですが。。
305 :
◆.PT9876/4U :2008/05/01(木) 14:47:57 ID:5UVaSIZn
>>303 ぎゃぼ〜.
完璧に無理 !
と言う訳で それらしいサンプルを書いて見ます.
>>304 Java のソースが出せる状況なら、サーバ側で対処した方が確実と思うが。
>>305 よろしくお願いします。
>>304 サーバ側で対処というのが良く分かりませんでした。理解力不足です。。
送信された内容はサーバ側でどうとでも処理できるのですが、
画面にセレクト&テキストボックスフィールドを作るというのが
ネックになっています。
上手く伝えられなくて申し訳ないです
>>307 意味が分からん。
既存の select するシステムがあって、textarea も追加すれば済む話だろ?
HTML レベルの話じゃないか。
・select すると textarea に選択肢(の表示)がコピーされる // 実際の value をどうするかは知らん ・textarea に何かが入力されていても select されたら上書きでいい ・select した値も textarea の内容もまとめて submit すればあとは鯖側でどうにかする ・まとめると「select した文字列を textarea へコピー」という動作だけが欲しい こういう要件なんだと思う。たぶん。
>>311 だからどうした? 同じ form に select と textarea を突っ込めば終了。
あとは、サーバ側でやりゃいいやんって言ってるの。
>>310 のように書かれれば別だが。
ただ、質問者からは textarea に反映するなんて一言も出てないが?
313 :
310 :2008/05/01(木) 15:29:25 ID:???
俺も勘違いしてた。 「入力可能なドロップダウンリスト」(MSが言うところのコンボボックス)が欲しいのね。
>>310 まとめてくださってありがとうございます。
自分でもよくまとめられませんでしたが、ズバリその通りです!
315 :
310 :2008/05/01(木) 15:32:17 ID:???
>>315 >MSが言うところのコンボボックス
これです。これがやりたかったです。
317 :
296 :2008/05/01(木) 15:38:35 ID:???
318 :
296 :2008/05/01(木) 15:40:25 ID:???
うお
横からだけど、
>>313 がかなり欲しい。
よろしくお願いします!
320 :
316 :2008/05/01(木) 16:13:43 ID:???
元の質問者ですが、
熱い眼差しで
>>313 が欲しいです。
321 :
296 :2008/05/01(木) 16:14:56 ID:???
こうかな <style type="text/css"> div.combobox { position: relative; } div.combobox select{ position: absolute; top: 1em; display: none; } </style> <form action=""> <div class="combobox"> <input type="text" name="hoge"> <script type="text/javascript"> (function() { var a = ['これ', 'それ', 'あれ', 'どれ']; var s = '<input type="button" value="▽" onclick="this.nextSibling.style.display=\'block\'">'; s += '<select size="' + a.length + '" onchange="this.form.elements.hoge.value=this.value;this.style.display=\'none\'">'; for (var i = 0, len = a.length; i < len; i++) { s += '<option value="' + a[i] + '">' + a[i] + '<\/option>'; } s += '<\/select>'; document.write(s); })(); </script> </div> <p><input type="submit" value="送信"></p> </form>
322 :
316 :2008/05/01(木) 16:31:47 ID:???
>>321 ありがとうございます!!!!11!!!!11!1!
もう・・・完璧です・・・
言うこと無しです
>>296 さんは何だかんだで面倒見良いんですね
323 :
◆.PT9876/4U :2008/05/01(木) 16:50:40 ID:5UVaSIZn
出遅れてしまったけど homepage2.nifty.com/alter/samples/combo_fields/exam.html
324 :
316 :2008/05/01(木) 17:05:52 ID:???
>>323 ありがとうございます!
jsのソースとても参考になります!
>>324 でもグローバルの汚染は真似しないようにね
326 :
◆.PT9876/4U :2008/05/01(木) 17:17:39 ID:5UVaSIZn
.PT9876/4Uさんは今回の一件においても特に何の疑問も感じず、
>>299 のような発言を反省してもいないのでしょう。
真性の方って素晴らしいですね。
これからの更なるご活躍を期待しています。
328 :
◆.PT9876/4U :2008/05/01(木) 20:30:20 ID:ORdhU0yv
>>327 これでも押し殺しているんだ.
>>299 の発言の理由をきちんと説明したほうがよかったのかな ?
(そうすることによって ぎくしゃくした流れになるのを僕は恐れたのだ)
>>296 の問題点:
1. var s の内容は select element そのものだけど... スマートなやり方とは思えない
(n 個の options の準備 -> slc.options.length=n;)
(実に単純なことなのに知らない人が多い)
2.document.write(s); は極力使うべきではない.
(document.write() には落とし穴というか, とんでもない副作用がある !)
329 :
296 :2008/05/01(木) 20:49:57 ID:???
まあ、要領を得ない遠吠えは華麗にスルーして、
実は
>>321 もまだかなり手抜きで、
JS CSS
on on … ◎
on off … × 用途が不明なボタンとセレクトボックスが見えてしまい、混乱させる
off on … ○ 普通に検索できる
off off … ○ 同上
ということで、ユーザビリティの観点から言えば CSS に頼らずに JS で全部やるべき。
もちろん、そんなこと考えてすらいない
>>323 は論外
330 :
◆.PT9876/4U :2008/05/01(木) 20:55:56 ID:ORdhU0yv
やれやれ... 予想通りの展開になってしまった.
>>329 後は任せた !
好きにしてくれ.
いいぞもっとやれ
332 :
327 :2008/05/01(木) 23:00:54 ID:???
>>330 大変残念ですが、今までお疲れ様でした。
質問者に全く見当違いな回答をして、
敢えて質問者に考えさせるという、2chの質問スレでは珍しい高度な回答をなさっていたようですが、
今後は他の非コテな回答者による通常の質問スレ形態になるかと思われます。
結局これらの質問には何の意味があったのだろうか
>で, 最終的に どうしたいのかな ?
>両方カラの場合も あるし, 両方 value のある場合も ありえる.
>POSTorGET ?
>テキストボックスのvalueを次の画面 ?
>すると CGI 相手に何かがしたいってこと ?
>で, それは どういうたぐいの物なのかな ?
>とりあえず
>>297 の条件でサンプル書くってことでどう ?
>どうせだから CGI の入手先を教えてもらえないかな ?
>どうせなら CGI と連動するサンプルの方がおもしろいのでは ?
335 :
Name_Not_Found :2008/05/02(金) 12:25:34 ID:zzLRFS1U
>>285 DIONアク禁でレス出来なかっただけだが?
336 :
Name_Not_Found :2008/05/02(金) 12:33:46 ID:EAZeVRKm
すみません。 FC2ブログでコメントを送信するためにコメント編集の画面を開いた状態で、 サイドバーの検索フォームに文字を入れてブログ内を検索しようとすると 検索結果ではなくコメントの送信確認画面になってしまいます。 不具合の原因が分かる方いましたらお願いいたします。
337 :
◆.PT9876/4U :2008/05/02(金) 12:44:45 ID:SEfED6DA
>>335 僕も昔... (今は "Dion" ではなく, "AU...")
文句言ってるのでは ないってことを理解して欲しいんですよぉ.
"手直しが必要なら応じます... 必要なはずだ..."
そう思いながらサンプルを発表してるんです.
339 :
336 :2008/05/02(金) 19:30:53 ID:???
>>338 専用スレで聞いたほうが良かったですね。すみません。
文字入力ウィンドウってpromptで簡単にできるじゃないですか。 あれみたいなので複数の値を入力できるような簡単なのはないものですかね。 GoogleMapsの管理画面で簡単に登録を行いたく、 マーカーをクリック→本文、URL、画像等を入力→csvとかに保存 としたいのですが、自力ではpromptを何度も表示する的なもの、 あるいは完全に別ページで入力フォームにしてしまう、くらいしかできませんでした。 JavaScriptで入力フォームみたいなの?をポップアップする?みたいなの? のサンプルみたいなのがあればありがたいです。
ポップアップといったら position: absolute; だろうが 終わったら removeChild すればいい
なるほどー、クリックで表示にすればいいわけか。
なんて単純なんだ。
>>341 テラthx
343 :
339 :2008/05/03(土) 02:47:49 ID:GUHa6X7P
すみません。FC2ブログのスレで技術フォーラムに書き込む様薦められたのですが、その前にもう一度だけ質問させてください。 テンプレートを色々いじってみたところ、下のコメント投稿フォーム部分を消すと検索が可能になるのですが、 ソース内容に2つのフォームが同時に表示されていると問題が起こるような原因は見受けられますでしょうか? ■コメント投稿フォーム <div> <form method="post" action="./" name="comment_form"> <input type="hidden" name="mode" value="regist"> <input type="hidden" name="comment[no]" value="<%pno>"> <table border="0" celpadding="0" cellspacing="1"> <tr> <td><label for="name">Name:</label></td><td><input id="name" type="text" name="comment[name]" size="30" value="<%cookie_name>"></td> </tr><tr> <td><label for="mail">Mail:</label></td><td><input id="mail" type="text" name="comment[mail]" size="30" value="<%cookie_mail>"></td> </tr><tr> <td><label for="url">URL:</label></td><td><input id="url" type="text" name="comment[url]" size="30" value="<%cookie_url>"></td> </tr><tr> <td><label for="comment">Comment:</label></td><td> <textarea id="comment" cols="40" rows="6" name="comment[body]"></textarea></td> </tr><tr>
344 :
339 :2008/05/03(土) 02:48:22 ID:???
<td><label for="pass">Pass:</label></td><td><input id="pass" type="password" name="comment[pass]" size="12"></td> </tr><tr> <td><label for="himitu">Secret:</label></td><td><input id="himitu" type="checkbox" name="comment[himitu]"> 管理人にだけ表示を許可する</td> </tr><tr> <td> </td> <td><br><input type="submit" name="submit[send]" value=" Send "></td> </tr> </table> </div> ■検索フォーム <form action="./" method="get"> <p class="plugin-search" &align> <input type="text" size="20" name="q" value="" maxlength="200"><br> <input type="submit" value=" 検索 "> </p> </form>
346 :
Name_Not_Found :2008/05/03(土) 04:41:15 ID:SjtB5wcI
>>346 名無しにすれば相手してもらえるとでも?
348 :
Name_Not_Found :2008/05/03(土) 05:01:42 ID:SjtB5wcI
>>344 とりあえずコメントフォームの閉じタグ</form>ぐらい入れたらどうだろうか
350 :
339 :2008/05/03(土) 09:25:37 ID:WBVJjONj
何か、本当にすみませんな流れなんですけどご指摘の通り、</form>を追加したら直りました。ありがとうございます。 HTMLはやったことがあるのですが、Javaスクリプトは完全に素人だったのでソースひとつひとつ消して確認してました。 <form>も<meta 〜>みたいなものだと思ってたんですが、違うんですね。 他の共有テンプレを見たら確かに上記の様に</form>入ってました。 フォーラムに投稿してたらちょっと恥ずかしい事になってましたね。本当にありがとうございました。
よろしくお願いします。 複数のAタグのonclickに同じファンクションを入れていて、 クリックされた時にfunctionでそれぞれの子要素等を取得するにはどうすれば良いでしょうか? というか可能でしょうか? <a href="dummy" id="anchor1" onclick="message();return false;">All Hail Britannia</a><br> <a href="dummy" id="anchor2" onclick="message();return false;">Yes, Your Highness.</a><br> <a href="dummy" id="anchor3" onclick="message();return false;">Yes, My Lord.</a><br> function message(){ alert(クリックされた子要素のIDやらテキストを表示); }
352 :
Name_Not_Found :2008/05/03(土) 12:30:28 ID:SjtB5wcI
>>351 >複数のAタグのonclick
一般的によく使われる手だけど
良く考えると変則的な使われ方だと僕は思います.
(だから return false なんて(無駄な)記述が必要な訳だし)
"クリックした時に何かが起きますよ" と知らせたいのなら
CSS でそのように表示するように工夫するよろし.
>それぞれの子要素等を取得
見たところ textNode しかないようですが ?
(日本語で "要素" というのは element を指す訳で node とは別物)
もっとも DOM でアクセスするときには childNodes と言う形だけど.
353 :
Name_Not_Found :2008/05/03(土) 12:43:35 ID:SjtB5wcI
補足: firstChild, lastChild で elemnt を得られます. 文字通り "最初の子供", "末っ子" てな感じ
>>352 ,353
レスありがとうございます。
>良く考えると変則的な使われ方だと僕は思います.
なんとなく私もそんな気がしています。。
日本語がおかしくて失礼しました。
取得したいのは、クリックされたテキスト部分だけなのですが
(
>>351 で言うと、1番目のaタグをクリックしたら「All Hail Britannia」を取得する)
これをfirstChild,lastChildを使ってどう取れば良いのかが分からないです。
thisでも渡しとけば。
356 :
Name_Not_Found :2008/05/03(土) 14:13:35 ID:SjtB5wcI
>>354 まったくに初心者と言うわけではなさそうですね.
>1番目のaタグをクリックしたら「All Hail Britannia」を取得する
var ancs=document.getElementsByTagName('a');
// documet 中のすべての a タグのコレクション
・ "1番目のaタグ":
ancs[0]
・ 「All Hail Britannia」を取得する
1. 一番手っ取り早いのはancs[0].innerHTML
(IE が大元だけど ほとんどの web-browser がサポート)
(ただし, innerText は IE のみ)
2. ancs[0].childNodes とやると子供の node collection が得られる.
(element と text が交互に現れるので かなり面倒臭いけど...)
で, この場合は ancs[0].childNodes が "All Hail Britannia" に当たる
参考:
alert(~); もしくは confirm(~); とやって対象を調べるのが良くやられる手
(confirm は escキーでキャンセルボタンが押せるので個人的に好き)
(alert は loop 処理などで抜け出せなくなることがある)
357 :
354 :2008/05/03(土) 14:14:14 ID:???
>>355 解決しました!ありがとうございます。!
358 :
Name_Not_Found :2008/05/03(土) 14:15:00 ID:SjtB5wcI
訂正: ancs[0].childNodes -> ancs[0].childNodes[0]
359 :
Name_Not_Found :2008/05/03(土) 14:17:34 ID:SjtB5wcI
>>355 が 一番スマート... やられた...
360 :
354 :2008/05/03(土) 15:18:58 ID:???
>>359 今リロードしました。this渡しで解決しちゃったんですが、
いろいろと考えてくださってありがとうございます。
JavaScriptが使える人にだけサイトを表示して 使えない人にはメッセージを表示するにはどうすればいいのでしょうか? 今までは<script>document.write("サイトの内容");</script><noscript>メッセージ</noscript> って感じで無理やりやっていましたが他に方法ありますか?
362 :
Name_Not_Found :2008/05/03(土) 17:41:39 ID:SjtB5wcI
>>361 いろいろ方法があるだろうけれど僕ならば document.write() は使わない.
なぜならロードするときの一回きりしか使えないから.
これを使うくせを付けてしまうと柔軟な script を書けなくなってしまう.
一つの案として css で display:none もしくは vizibility:hidden を指定しておく.
(両者の表示は異なるので目的に応じて使い分けること)
あとは onload で切り替えてやれば良い.
363 :
Name_Not_Found :2008/05/03(土) 17:43:48 ID:SjtB5wcI
訂正: visibility:hidden
なるほど、もともとnoneにしてonloadした時にスクリプトでnoneをblockに変えて 使える人だけ見れるようにすればよかったんですね、 ありがとうございました
>>364 そんなのスタイルシートを使わない、にされたら終わりじゃん
そういうやつは終わりでいいよ。
今時CSS弾いてる人は珍しいし そこまでしてJavaScript限定にしたいわけじゃないように思われ。 もしそこまでして限定したいなら何があるのか自分も知りたいが。
ケータイのブラウザで見られても一発
>>285 亀レスになってしまって、すみません。
動作確認ですが、想定どおりに要素がランダムで表示されるのですが、
undefined というのが表示される場合があります。
要素の数が少ないほど表示される可能性が高いようです。
>>369 ランダムというと(恐らく
>>285 は全く関係無い)
>>282-283 あたりかと思って見てみたけど、
下記のようにすればundefinedは出なくなるのでは。
function myrandom(max) {
return Math.floor(Math.random() * max);
}
配列の添字の範囲は0から配列のサイズ-1までが有効だけど、
>>283 だと、1から配列のサイズまでの値を返すという間違いがあったので、
ランダムで最大値が出た場合には、配列の範囲を超えていたのがundefinedとなった原因。
>>370 そうですね、今思えば+1しているのがよくわからなかったです・・・
これを機にjavascriptをもう少し勉強してみようと思います。
>>283 、
>>370 、どうもありがとうございました。
372 :
Name_Not_Found :2008/05/04(日) 02:56:14 ID:58pMrOTZ
>>369 "ランダム" に関連があるのは
>>282-283 だけだと思うけど...
そうであるのなら人違い.
僕は document.write() は ごくまれにしか使わないのだ.
var woman; var man; manをwomanに挿入したいんですが、手取り足取り教えてくれますか?
woman = man
それは代入
376 :
373 :2008/05/04(日) 16:36:28 ID:???
挿入するとchildNodeができるってことがわかりましたが やはり挿入の仕方がわかりません。
>>373 こんなんでいい?
function woman(man){
for(i=0;i < man.length; i++){
//処理
}
}
この場合のlengthは何をさしているのだろうね
manの文字数じゃん? i<manの数量指定の方がよさそうだけど。
このスレに手取り足取り教えられる人がいるのだろうかw
まず手取り足取りと丸投げの違いを把握してほしい。 このスレは手取り足取りと言うより質問攻めで細かいところを追及してからサンプルを出すだけ。
383 :
Name_Not_Found :2008/05/05(月) 17:13:30 ID:42oncmaA
>>381 現状ではその通りではある.
というか, そうならざるを得ないだけ.
知っていることを長々と説明されても迷惑なだけでしょ ?
質問者の理解度の把握なしでは本当の意味での手取り足取りは あり得ない.
しかし, それは難しいというか, おそらく今のような形態では不可能だろう.
自分の理解度を説明できる人ならば こういうところに頼る必要はない.
384 :
Name_Not_Found :2008/05/05(月) 17:39:38 ID:42oncmaA
>>383 では何が言いたいのか判らないかも知れない.
ようするに web 上では手探りで質問者の理解度を推し量るしかなく,
本当の意味での "手取り足取り" を追求するならば面と向かって
1:1 でやる必要があるだろうということ.
ネタをネタと・・・
>>381 それはこのスレというよりも、
日本語の読解力が無く、空気も読めない(あるいはコミュニケーション能力に欠陥のある)約一名の真性だけ。
まあでも実際サンプルを出すだけじゃなく、
何故そのように書いたのかの説明もした方が良いとは思うけどね。
質問者がJavaScriptによるプログラミングに興味が無く、
とりあえず機能すれば良いという人では無いならば。
387 :
Name_Not_Found :2008/05/05(月) 18:38:39 ID:+hFyxvav
>>386 >何故そのように書いたのかの説明もした方が良いとは思うけどね
頼まれもしない説明を長々とやるのも どうかと思うけどねぇ.
完動するサンプルがあればそれを読み解いていけば良い.
解らないところ, もしくは動作上の問題があればツッコミを入れれば良い.
ところが そういった feedback はどういう物か現状ではない.
そもそも ここで提示しているサンプルだって
いくつかのパターンの組み合わせでしかない.
逆に言えば そのパターンを読み解いていけば 自作が可能だ.
388 :
Name_Not_Found :2008/05/05(月) 19:29:27 ID:+hFyxvav
document.write() を平気で書いて慢心している輩が 偉そうな顔をしているようでは ここも終わりだな んなもんが蔓延したらと思うと... 恐ろしい !
質問者のコードを流用するのでは無く、
document.writeを使っているのは
>>296 だけのようだけど、
僕ちゃんは、自分を批判する書きこみは全て同一人物によるものだとでも思っているのだろうか。
これからは //コメント /* コメント */ を細かく使ってさりげなく一文一分のお仕事を伝えるとかさ
こんばんはロムッてました javaスクリプト全く素人です document.write()これは何か悪いことなのでしょうか? どのような命令なんですか?
>>390 それで手取り足取りってことになるならやるけどさ…
なんか「コメント多くてうっとおしい」とか言われそうだし、やってる人居ないしね
>>391 あなたがだれなのかがわかりません。
document.write();
は、documentに()内のものを書き込む命令です。
document.writeを知らないなら 今のうちからこれを多用しない癖を付けておきましょう。 これを多用するとリアルタイムでの書き換えが面倒で、柔軟なスクリプトを書くのに向いていません。 document.write()は非可逆なので、一度やったら取り消せないような気がします。 どうせなら自分はDOMを多用する。
>>391 です
えぇええっ!
それじゃー私が以前ファイルの読み書きがしたいのでjavaスクリプト教えてくださいと言った時に
「javaスクリプトではできません」って誰か発言してたのは・・・騙されてたのかorz
>>392 さん教えてくれてありがとう
参考書がたくさんありそうなのでjavaスクリプトでやってみたかったんですよ
でも他の言語でってことで他に廻ったんですが
なぜかみんな教えたがらないんですよ
それで解説本いっぱい買ってみたけどぜんぜん前進しないままですショボーン(´;ω;`)
>>394 その人の言うファイルの読み書きは「外部ファイル(.datとか.log)」のことで、
>>392 のdocumentが差すものはページのドキュメントであって外部ファイルを書き換えることはできない。
JavaScriptで記録するものはCookieしかなく、鯖側言語はファイル操作ができる。
自分中2だから何言ってるかわかんないかもだけどファイル操作がしたいなら
PHPらへんから始めると簡単でした
397 :
296 :2008/05/06(火) 01:53:10 ID:???
いつの間にか「document.write を愛用してる人」にされてしまったわけだが・・・
>>393 あんたは適材適所という言葉を覚えたほうがいい
>>286 には「リアルタイムでの書き換え」も「柔軟なスクリプト」である必要も無いだろ
あと
> document.write()は非可逆なので、一度やったら取り消せないような気がします。
気がしますと言われても説得力が無いのでkwsk
>>395 ありがと
私はWindows環境なのでちょっと立ち入れないや
>>396 そのファイル操作ってのがやりたいんだ
教えてくれてありがとう
中2って中学2年生ですか?
凄いす
私が中2の時はパソコンを個人で持ってる人なんか居なかったよw
PHPはファイル操作できるのかな?
本屋さんでついでに買った解説本が4〜5冊あるけど
超凄いらしいサンプルにもファイル操作は見当たらなかったので
今は違うのをお勉強中なんだ
またどこかで会えば教えてください
オヤシミ
399 :
sage :2008/05/06(火) 03:56:05 ID:SDv92iiK
>397 >あんたは適材適所という言葉を覚えたほうがいい ならば あんた自身は不適材不適所だ. サンプルを鵜呑みする人が少なからず居る事をなぜ考えない ? 初心者が一度は はまる落とし穴が document.write() だって事を知らないのか ? この事実さえも知らないのなら あんたは初心者以下だ. もしも知りながらやってるのなら あんたは有害人物でしかない.
401 :
395 :2008/05/06(火) 04:14:49 ID:???
>>398 スレ違いというならこのスレも十分スレ違いですが、
どちらかと言うと向こうのスレの方が適切だと思われますので、
お気になされる必要もありませんよ。
それに◆.PT9876/4Uさんは
>>330-332 のように、
残念ながらもうこのスレには来ない模様ですので。
非常に良く似た文体の偽者(異常者)は出没しているようですが。
402 :
sage :2008/05/06(火) 04:27:03 ID:SDv92iiK
念のため. perl の print と違って document.write() は読込時と読み込み後では動作が異なる. 読込時では単に書き出すだけなのに対し, 読み込み後ではdocument を一旦クリアしてから書き出す という摩訶不思議な動作をする. だから非常に使い勝手が悪い. おそらくJavaScript 初期の設計では 読み込み後の書換え表示は(security上)好ましくないと見なされたのだろう. (憶測に過ぎないので鵜呑みに しないで欲しい)
>>402 当たり前でしょ
で、「とんでもない副作用」とはなんなのか早く説明してよ
【馬鹿と鋏は使いよう】 適切な使用法を知った上で使うなら、 あまり役に立たないと思われるものでも有効に利用出来るという諺。 馬鹿に鋏を持たせても、どうせ上手く使えないだろ。という意味ではありません。
405 :
異常者 :2008/05/06(火) 04:38:58 ID:SDv92iiK
>>401 悪かったなぁ.
こういう展開は避けたかった.
だけど放置しているのも問題だと思ったんだ.
不特定多数な人を対象にする難しさが このあたりにある.
>>405 そろそろ自分が間違っている(かなりズレている)事に気が付いても良さそうなものだけど。
407 :
異常者 :2008/05/06(火) 04:51:21 ID:SDv92iiK
>>406 もう,どうでもいいや.
叩き合いながら, 争い合いながらも
存在し続けている本流の すごさを思い知ったべ.
完敗だぜ.
というかそもそもスキル不足なんだよなぁ
本人は相当な自信を持っているようだけど(ソース:
>>388 )
向上心を失ったらそこで終わりですよと。
409 :
異常者 :2008/05/06(火) 05:02:07 ID:SDv92iiK
>>408 >向上心を失ったらそこで終わりですよと。
始めて意見が一致したね !
こんな形での意見の一致は奇跡だ !
410 :
異常者 :2008/05/06(火) 05:16:11 ID:SDv92iiK
"スキル不足" と言われれば返す言葉がない. 知らないことが まだまだあるのが本当のところ. たとえば prototype 何たら などは理解できていないし, library 関連はまったくの無知. おそらく, このあたりが僕の限界なのだろう. ただ... 独自の工夫も また あることも... (2番煎じかも知れないが)
411 :
異常者 :2008/05/06(火) 05:57:39 ID:SDv92iiK
そもそもの争いの種をまいたのは ほかでもない私めです. 回答者どおしの批判はタブーだってことは解っていたはずなのに. 当然ながら罰を受けなければなりません. ってわけで 以後, 自らをここの出入り禁止人物指定といたします. 本当に御免なさい. (これで許してくれや ! わりゃ〜)
ここで高度な質問とか出たら 一気にそっちに取り掛かって解決なんだけどな
296だったら <form name="a"> <input type="text" name="hoge"> <select onchange="document.a.hoge.value=this.value" id="b"> <script type="text/javascript"> var a = ['これ', 'それ', 'あれ', 'どれ']; var b = document.getElementById("b"); var c,d; for(i=0;i<a.length;i++){ c = document.createElement("option"); d = document.createTextNode(a[i]); c.value = a[i]; b.appendChild(c); c.appendChild(d); } </script> </select> <input type="submit" value="送信"> </form> で良いと思う
414 :
Name_Not_Found :2008/05/06(火) 11:50:20 ID:0HjPTTSX
>>413 DOM 利用のモダンなアプローチだね.
だけど, form select element に限っては
古典的な やり方の方がシンプルになると思うんだけどなぁ.
"options.length は read only" とする解説もあるけれど,
実際には設定も可能になっていると...
(こだわってます !)
415 :
Name_Not_Found :2008/05/06(火) 12:02:01 ID:0HjPTTSX
言ってる意味が判らないかも知れないので補足. 以下の部分を古典的記述で書くと... c = document.createElement("option"); d = document.createTextNode(a[i]); c.value = a[i]; b.appendChild(c); c.appendChild(d); slc.options.length=a.length; // slc: select element slc.options[i].text=a[i];
>>414 > 回答者どおしの批判はタブーだってことは解っていたはずなのに.
と
> ってわけで 以後, 自らをここの出入り禁止人物指定といたします.
が出来てませんね。
document.aだから大丈夫か。 あまり褒められたやり方じゃないけど
元々
>>1 が立てた馴れ合いスレを、
JavaScript入門用スレとして便乗的に利用してきたのだから、
ここらで別スレを立てるのも手かもね。
匿名掲示板なんだから、回答者のプライドなんてどうでも良い(改善すべき点があれば指摘すれば良い)し、
質問者が反応しなくても気にしない。
要するにスレ自体が、第三者が見てもそこそこ参考になるような、
一種のデザインパターン的なサンプルになれば十分では。
あー・・・理屈しらんままdocument.write()多用したサイトにjQuery導入した時泣いたなぁ 素人であった当時の俺の目には、「とんでもない副作用」に映ったな
自分は1週間ぐらいdocument.writeの罠にはまってたので これから始める人たちにはなってほしくないなぁ
"自ら出入り禁止宣言" しといて出しゃばるのも なんですが...
>>419 >匿名掲示板なんだから、回答者のプライドなんてどうでも良い
まさにその通りなんですが,
以外に(結果待ちの間)ビクビクしているのが回答者心理なので,
恐怖心が冷静さを失わせる結果になりやすいかと.
答える側の心理を考えると極力干渉しないのがベストだと考えてます.
解っちゃいるけど予定通りにはいかないってことも あるってもんです.
>>422 >>174 >>216 >>221 >>235 などを書いた人間だけど、
コードを貼る時点で、質問者の意図を汲んだ回答だという自信があるし、
Firefox2とIE6で動作確認済みなのでビクビクなんてしやしないよ。
軽く見ているという訳では無いが、そもそも匿名掲示板なんぞでビビッていたら、
利害関係者を始め多方面への影響がある仕事なんか出来やしない。
バイトでも良いから一度実務経験を積んでみれば?
>423 >そもそも匿名掲示板なんぞでビビッていたら まあ, 自分自身の体験だとと解釈してもらって構わない. 可能な限り動作確認しながら公表しているけど, すべての環境で動く保証などない. だから "現時点では Mozilla なら必ず動くはずだ." "しかし, IE は まったく当てにならないから動作不良の可能性がある" と予測しながら発表している. 実際に "評価以来スレッド" おかしな反応があったのを体験している. 当時は IE を完全に切り捨てていた. だから相手の主張がまったく理解できなかった. 念のため IE5.17 で確認した時に 納得した. 一応, 対策はしているものの 同じプラットホームでも わずかなバージョンの違いで挙動が全く異なるのが IE. Mozilla 系の方は とりあえず大丈夫なようだけど. >質問者の意図を汲んだ回答だという自信があるし その自信が本当に当てになるもなのだろうか ? 特にソースだけ貼った物は 動作確認にたどり着くまでにミスが混入する可能性がある. 逆にぱっと見ただけで動作確認さえしてもらえないことだってある.
特に
>>329 あたりなどは "単なる負け惜しみ" としか受け取れなかった.
今時, CSS 切って見るヤツなどいない.
IE がダメダメだといっても CSS2 に対応していないだけで
CSS1 の範囲なら 取り合えず大丈夫.
>ユーザビリティの観点から言えば CSS に頼らずに JS で全部やるべき
その気になれば JS だけで CSS をコントロールできる.
というか, 近ごろの script はそうすることが当たり前.
そのあげく, "そんなこと考えてすらいない
>>323 は論外" と結ばれた日にゃ〜.
こっちだって同じ事を考えたもんだ:
"
>>329 は論外" だとね.
だけど, あえて黙っていた.
話が解る相手とは思えなかったからさ.
>>426 申し訳ない.
現時点では自分のサイトではなく, 単なる物置.
nifty の使い勝手悪すぎ !
あっ, これも愚痴と映るのかな ?
428 :
423 :2008/05/10(土) 01:42:16 ID:???
相変わらずの反応なので、マジレスして損したというかさすがに見ていて痛々しい感じだけど、
自分より下に見えるものを探して叩くってのは2chらしいね。
ちょっと面白そうなので、
>>181 の質問に対する回答としての
>>235 を同じ様に批評してみて下さい。
429 :
Name_Not_Found :2008/05/10(土) 02:10:47 ID:J9HDZW0d
>>428 >自分より下に見えるものを探して叩くってのは2chらしいね
それは誤解だ.
他人を批判する事(叩く事)などに興味はない.
そもそも何かの問題に対する solution が一つであるはずなどない.
興味深いものであればパクレば良いし, さもなくば無視するに限る.
今回は その判断を誤った感があるけど.
>>181 の質問に対する回答としての
>>235 を同じ様に批評してみて下さい
a solution.
まさに "質問者の意をくみ取った物".
しかし, パクる ほどのものでもないって感じ.
うっかり上げちまった. JS 切ってると cookie が効かない.
鯖サイドが絡んだとき以外はROMの人間だけど、横レス。
>>429 > 興味深いものであればパクレば良いし, さもなくば無視するに限る.
「パクる」という表現は語弊の種なので、まあ、言葉のアヤということで。
産物が「興味深くない」もんであっても、無視すべきでないときもあるよ。例えば。
> まさに "質問者の意をくみ取った物".
> しかし, パクる ほどのものでもないって感じ.
ここに、ほかの人らとの違いがよく出てると感じたんだけど、
質問者の意をくみ取る術を、それこそ「パクり」たいとは思わないのかな?
あまり興味がないのかもしれないけど、相手のモヤモヤ→要件定義→仕様策定辺りの
上流工程って大事ですよ。
>>431 そもそも, 僕は出入り禁止人間なんですけど ?
(自分で言った禁を自分で破ってりゃ世話はない)
議論がお好きな方には別の場をご用意させて頂きますが, いかが ?
(nifty 用 0ch script) <- レスポンスがひどく悪いときあり
>>432 んー、この流れでその「そもそも」を出されるとは思わなかったな。
自分はその禁とやらに興味がありませんし。
議論したいわけでもないし議論好きでもないけど、要件定義に限らず
「意を汲む」のズレがいろいろな問題を招いてそうなので触れてみただけです。
別の場の需要については不明。
>>433 あの〜 perl で script 書いていただけません ?
板違いは承知 !
(かの板は 何か水が違う気がする)
自分でも書こうとしたんですけどジンマシンが... (ぎゃぼ〜)
435 :
329 :2008/05/10(土) 06:11:28 ID:???
安価がついたのでまた出てきました
> 特に
>>329 あたりなどは "単なる負け惜しみ" としか受け取れなかった.
「
>>329 に勝った!」と言ってるのと同じだけど、どうして
>>323 は
>>329 より優れていると思ったのかな?
技術的に踏み込んだ質問はいつもスルーしてるようだけど、名指しで批判したんだからちゃんと答えてNE
議論なんかに興味はなくて JavaScript の話がしたいので。
>>435 そもそもの話の発端は
>>321 に対する
>>329 の発言だよね.
正直, 動作確認なしの発言だったので,
取り合えず, 謝っておきますです (御免なさい)
その後, 動作確認をしたら不思議(??)に動く. (なんじや, こりゃ?)
異質なものを否定するのは間違っているとしても,
見ただけで "何じゃ, こりゃ" と思う要素満載:
1. はっきり言って HTML 部を補うのが面倒
(僕は常に XHTML 記述であり, css, js 共に別ファイルにするのが普通.
しかし,
>>321 は明らかに 4.01 以前の記述なので反射的に面倒臭いと)
2. "(function() { " から始り, " })(); " で終わる記述.
(BookMarklet で しばしば見かけるけど まさに "あり得ない" と思っていた)
(もしかすると僕が無知だったのかも知れないけど)
3. DOM 記述を使いながらも options を設定するのは DOM 表記ではない.
4. 極めつきの document.write() 表記.
5. 明らかに普通に CSS 指定しているにもかかわらず,
その後の "CSS が切られている場合"発言
>>435 "
>>329 に勝った!" だぁ ?
"
>>323 は
>>329 より優れている" だぁ ?
お互いの受け取り方に大きな食い違いがあるように思えてならないなぁ.
(web では ありがちなことであるけれど)
僕は常に思っています:
"一つの問題に対しての solution は複数あるのが当たり前である" と.
"他を批判する隙があれば黙ってより良いものを提出すべきだ"
というのが個人的なスタンス.
>技術的に踏み込んだ質問はいつもスルーしてるようだけど
そう見えるのだろうか ?
もしかするとその通りかも知れない.
一旦話がこじれると ものすごい努力が必要になるのが web 上の会話.
下手に突っ込む隙があるのなら,
過去に作ったサンプルの改良でもしていた方が はるかに楽しい.
>>436 4. デモ用なので処理の流れが最も分かりやすい方法を選んだまでです
汎用性は 0 ですが、こういうケースでは実行順が逆になってしまう callback 型より適していると判断しました
1. なので、エスケープとかは面倒ですが文字列リテラルの結合にするほうがメリットが大きいです
2. 特に珍しくもなんともない、ただ匿名関数でブロックを作って外からプライベートにしてるだけなんですが・・・
今までどんなコード書いてきたんですか。とりあえず prptotype.js くらい読めるようになりましょう
3. options というプロパティは見当たりません
5. 確かに JS 切らずに CSS だけ切ってるような人はいないと思いますが、この程度の大きさならそこまでこだわっても悪くはないと思います
ちなみに勘違いしてるようなので補足しとくと
>>329 の「そんなこと」が指す内容は「ユーザビリティについて考慮することが大切だということ」です
>>437 自分が優越感を感じてるから相手のレスが「負け惜しみ」に見えるんだろ。こんな簡単な論証が必要か?
> 一つの問題に対しての solution は複数あるのが当たり前である
もうこの際だからはっきり言わせてもらうけど
ゴミみたいなコードは solution とは言えませんよ
JS 覚えたての低スキルが先生ごっこして悦に入ってる様は見ていて滑稽なんだよね
というかなんかもういいや
>>438 "もしかしたら話が通じるかも ?" と ちょっと期待してました.
でも, まったく話が通じてないのを確認することになりました.
いや〜, ほんとう〜に私が馬鹿でした !!!
これ以後,別の場所に引き篭もります.
ちゃんちゃん.
普段はスレ違いを誘導するくらいのROMだけどスレチのロングパス失礼
>>423 > バイトでも良いから一度実務経験を積んでみれば?
自分の所で面倒見てもいいと思って書いてる?
もしそうでないのなら無責任というか、
厄介を他人に押し付けようとしてることになるよ。
現実には予算や居住地域といった人物以外の条件でも
制約されることだけど言責の問題として。
完全に外野だけど、一つだけ。
>>436 の 2. について。
>>438 にも書かれているけど、全然珍しくない。
自分は無名関数って呼んでるけど。それくらい知っとけよ、と思う。
特にスキルも高く無いが、妙な自信と変なプライドがあり、
それでいて、
>>422 での"ビクビクしているのが回答者心理"
のように怯えているのが非常に謎だったけど、理由はこれか。
手とり足とり教えるスレ part3
http://pc11.2ch.net/test/read.cgi/hp/1155395444/ >1 :Name_Not_Found:2006/08/13(日) 00:10:44 ID:???
2年(以上?)ほど2chで初心者相手に遊んでいたら、勘違いするのも無理は無いか。
>>440 責任ある立場や環境は意外な程に人を変えるから、
試しにやってみれば?くらいの意味。
バイトやフリーが駄目っぽい(スキルが無いというより伸びる見込みが無い)なら、
普通に試用期間内で切るような所だから、無責任というのは否定しようが無けれどね。
みんなそろそろ気済んだ? =============討論終了=============== 質問などぜひどーぞ
444 :
Name_Not_Found :2008/05/11(日) 13:27:01 ID:eqauUU+e
ではお言葉に甘えて。 var kao = new Array(); var body = new Array(); var asi = new Array(); // 設定開始(メッセージの内容を設定してください) kao[0] = 'あ<br>'; kao[1] = 'い<br>'; kao[2] = 'う<br>'; kao[3] = 'え<br>'; kao[4] = 'お<br>'; body[0] = 'あ<br>'; body[1] = 'い<br>'; asi[0] = 'あ'; asi[1] = 'い'; // 設定終了 var no = Math.floor(Math.random() * kao.length); var no = Math.floor(Math.random() * body.length); var no = Math.floor(Math.random() * asi.length); // 表示開始 document.write(kao[no]); document.write(body[no]); document.write(asi[no]); このままだとあああか、いいいしか表示されません。 あいあとかいあいのように表示させるにはどうしたらいいですか?
445 :
Name_Not_Found :2008/05/11(日) 14:48:36 ID:eqauUU+e
自己解決しました ご迷惑おかけしました。
var no var da var me
var gya var bo~
少量の在庫を管理するようなシステム (個数を増やしたら反映できるようにしたい) を作りたいと思っています。 在庫管理以外は別で作ることになっており、後で結合するような形になります。 サンプルや作り方を検索しても思うように出てこず、 買った本もイマイチで、初心者であることもありうまく作ることが出来ません。 わかりやすいサイトやサンプルなどありましたら参考にさせて下さい。
>>449 課題のようなものでJavaScriptで自作したいのです。
>>450 たとえば CSV(CommaSeparatedValue) などを元に
データを加工して表示するなどと言うことはできるでしょう.
だけど データそのものを作り, save する機能がありません.
excel その他で作り, export する手もありますが...
でも "在庫管理" と "web" とを結びつける ものは何なのでしょう ?
452 :
448 :2008/05/12(月) 20:03:49 ID:???
>>451 MySQLによるデータベースを利用しようと思います。
私が買った本にMySQLとJavaScriptを併用してショッピングサイトを
作るというものがあったのです。
勉強中なので至らない部分があったら申し訳ありません。
454 :
448 :2008/05/12(月) 20:24:42 ID:???
455 :
Name_Not_Found :2008/05/14(水) 00:08:05 ID:W3YAHiJG
greasemonkeyでGM_xmlhttpRequestのなかで DOMパースしたあとにevaluateをやって情報を取得したいんですけど snapshotLength数えても0になってしまったり原因がわからなくて困っています。 var responseXML = (new DOMParser()).parseFromString(res.responseText, "application/xml"); var atag = responseXML.evaluate('//a', responseXML, null, 7, null); ↑ここをdocumentにすると実行元のページのaタグの数が出る状態
>>455 その XML を見てみないとなんとも言えない
457 :
455 :2008/05/14(水) 01:34:47 ID:W3YAHiJG
>>456 GM_xmlhttpRequest({
method: 'GET',
url: '
http://www.yahoo.co.jp/ ',
headers: { 'User-agent': 'Mozilla/4.0 (compatible) Greasemonkey' },
onload: function(res) {
var responseXML = (new DOMParser()).parseFromString(res.responseText, "application/xml");
var atag = responseXML.evaluate('//a', responseXML, null, 7, null);
console.log(atag.snapshotLength);
}
});
>>457 どうみても text/html だが・・・それを直しみても greasemonkey.js 内でエラー出るね
おそらく XPCNativeWrapper の所為じゃないかな
ふつうの XHR で同じことやってみて問題なければグリモンスレへどうぞ
459 :
Name_Not_Found :2008/05/14(水) 22:37:04 ID:dX4+YOVf
prototypeについてお願いします。 現在、下記のように画像を使ったメニューがあるとします。 [メニュー1] [メニュー2] [メニュー3] メニュー2のページを表示中に、メニュー2の画像「menu2.gif」を「menu2_a.gif」に置き換える ということがしたいのですが、これをprototypeを使って簡単に出来るようであれば教えて下さい。 お願いします。
prototype.js なんて使うなよ。人として恥ずかしいだろう。
461 :
459 :2008/05/15(木) 09:21:21 ID:???
>>460 ライブラリ使わずに自力でやれってことでおK?
自力でやろうとして、
・現在表示中のファイル名(test1.html)を取得して、そっから「test1」を抜き出す
・メニュー画像それぞれに「test1」「test2」などのID名を付けておいて
・抜き出した文字列と一致した場合に「menu1.gif」を「menu1 + "_a" + ".gif"」に置き換え
ってやればいいかと思いきや、一番目の「test1」をdocument.URLなどから抜き出せず
躓いていたのです。
prototypeなどを使えば簡単なのかな〜と思いまして。
>>461 var a=/\/(.+?)\.html?$/i.exec(location.href);
if (!a) return;
var img = document.getElementById(a[1]);
img.src = img.src.replace(/([^\/.]+)(\.\w+)$/, '$1_a$2');
lightview.jsの質問はこちらでしても大丈夫でしょうか?
>>465 CCで禁止されているのですね、了解しました。
見た目が気に入ったのでLightviewを使いたかったのですが、
おとなしくLightboxにしておきます。
ご回答ありがとうございました。
467 :
459 :2008/05/16(金) 10:28:59 ID:???
>>462 サンクン!!
でも、一行目でシンタックスエラーって言われました…。
正規表現がわからなくて…スマン。
469 :
Name_Not_Found :2008/05/16(金) 13:46:10 ID:ebtksID8
かなり低レベルな質問になると思うのですが、 missing ; before statement というエラーで分からなくて止まってます。 function phaseCheck() { document.member.phase2.disabled = false; }; この関数がおかしいと言ってるようなのですが、どこがおかしいのでしょうか?
470 :
469 :2008/05/16(金) 13:57:47 ID:???
すみません。違うところがかかわって来ておかしくなってたみたいでした。 自己解決しました
471 :
Name_Not_Found :2008/05/21(水) 21:57:21 ID:GLfpZKoz
よろしくおねがいします 今greasemonkeyでjavascript書いてページにパネルを表示させるということをしているのですが 以下のソースコードで、通常のページではうまく表示されるのですが、ヤフージャパンなどでは 表示されません。 CSSの問題かなあとおもっていますが、firebugでCSSを全部消しても現れません。 bottom=0 とするとyahooでも問題なく表示されます。 どなたか解決策を教えてください。 よろしくお願いします。 以下コード var GM_infoPanel = document.createElement('div'); with(GM_infoPanel.style) { bottom = 50; left = 0; padding = '2px'; opacity = '0.5'; fontSize = 'x-small'; color = '#000000'; backgroundColor = '#FFFFFF'; border = '3px double #C0C0C0'; zIndex = 800; position = 'fixed'; } GM_infoPanel.innerHTML="test"; document.body.appendChild(GM_infoPanel);
>>472 今帰宅し、ためしてみました。
無事に解決いたしました。
ありがとうございます。
基本的な事で悩んでます。 テキストエンコーディングの事です。 使用するファイルは HTMLファイル、jsファイル、xmlファイルです。 1. HTMLはcharset=Shift_JIS 読み込んでるjsファイルもShift_JIS jsファイルで読み込ませるxmlファイル-UTF-8 2. HTMLはcharset=Shift_JIS 読み込んでるjsファイルもShift_JIS jsファイルで読み込ませるxmlファイル <?xml verson "1.1" encoding = "Shift_JIS"?>を明記して Shift_JIS"で保存。 ほとんどのブラウザは1で大丈夫だったのですが Mac/Safari1.3.2はブラウザ上で文字化けしたために 2のパターンでした。 ほとんどのブラウザは1のパターンで大丈夫のようです。 HTMLファイルと読み込むjsファイルは テキストエンコードは同じにした方がいい、で 大丈夫でしょうか?
>>474 jsもcharsetで明示すれば大丈夫
今Jave入門の課題で作ってるのが全然ワカンネ('A`)状態です。 入力した数を足していって数字以外を入力したら合計値を返す、っていうやつなんですが、 色々直してみても無限ループ入ったり、全然作動しなかったり… 今はこんな状態↓です。段々何書いてるのか分からなくなってきた…orz var i, x, y, m, ; x = Number(prompt("x = ?")); i = 1; for (i = 1; i = infinity ; i++) { x = Number(prompt("x" +(i+1)+ "=?")); m = x + y ; if ( x == NaN ) break ; } document.writeln("合計は" + m );
NaNと比較してるのが敗因だろう isNaNを使ってみ
479 :
Name_Not_Found :2008/05/26(月) 03:13:42 ID:P/4mhZdE
<form name="form1"><input type="text" name="text" /></form> こんなソースがあるときに、 フォームの枠の色などのスタイルシートで変更出来るような箇所を変更したいのですが、 出来ないでしょうか?
document.getElementsByName('form1') とか
481 :
Name_Not_Found :2008/05/26(月) 03:44:15 ID:P/4mhZdE
>>480 少々、間際らしい書き方をして申し訳ございません。
フォームの取得ではなく、
スタイルを変更するプロパティやメソッドはありませんでしょうか?
482 :
Name_Not_Found :2008/05/26(月) 04:06:27 ID:pk/8mvbJ
483 :
Name_Not_Found :2008/05/26(月) 04:07:10 ID:pk/8mvbJ
含ませたい項目は下記三つになります。 (1) recent comment <!--rcomment--> <li><a href="<%rcomment_link>#comment<%rcomment_no>" title="> <%rcomment_etitle>[<%rcomment_title>]"><%rcomment_name> [<%rcomment_month>.<%rcomment_day>]</a></li> <!--/rcomment--> (2) recent entry <!--recent--> <li><a href="<%recent_link>"><%recent_title> [<%recent_month>.<%recent_day>]</a></li> <!--/recent--> (3) archive <!--archive--> <li><a href="<%archive_link>"><%archive_year> / <%archive_month> [<%archive_count>]</a></li> <!--/archive--> お手数お掛けしてしまい申し訳ないのですが宜しくお願い致します。 2/2
>>479 ,481
var pointer = document.getElementsByName("form1")[0];
pointer.border = "1px solid #000";
自分の理解力だとこんな感じ
486 :
Name_Not_Found :2008/05/26(月) 19:32:14 ID:pk/8mvbJ
>>486 <script type="text/javascript">
<!--
function fold(id){
var node = document.getElementById(id);
node.style.display = (node.style.display == "none") ? "":"none";
}
//-->
</script>
<span onmouseover="fold('menu1')" onmouseout="fold('menu1')">メニュー1</span><br />
<div id="menu1" style="display:none">
メニュー1の中身
</div>
<span onmouseover="fold('menu2')" onmouseout="fold('menu2')">メニュー2</span><br />
<div id="menu2" style="display:none">
メニュー2の中身
</div>
<span onmouseover="fold('menu3')" onmouseout="fold('menu3')">メニュー3</span><br />
<div id="menu3" style="display:none">
メニュー3の中身
</div>
こんな感じなら。
なんかもっと必要な事があれば言ってくださいね。
根本的に違っている場合もぜひ。
488 :
479 :2008/05/26(月) 19:47:31 ID:???
>>484 はい。そのような感じです。
ありがとうございます
>>488 ミスった;
×)pointer.border
○)pointer.style.border
ごめんなさい
>>482-483 weblog template 改造は 面白そう.
差し支えなければ どこのものなのか おすえて!
手取り足取りよろしくお願いします。
http://www.dynamicdrive.com/dynamicindex2/ajaxticker.htm 変更したいスクリプト
<script type="text/javascript">
var xmlfile="tickercontent.txt"
new ajax_ticker(xmlfile, "ajaxticker1", "someclass", 1000, "fade")
</script>
Safariの2.0まではutf-8のXMLファイルは文字化けしたので
上記のvar xmlfile="tickercontent.txt" を
ブラウザSafariのバージョンによって変えたいです。
SafariのAppleWebKitを判定してバージョンを返しているjavascriptは見つかったのですが
うまく使いこなせません。
単純にSafari/100.1などの数字部分が500以上(Safari3.0以上)なら
var xmlfile="tickercontent.txt"
それ以外ならShift_JISで書いた
var xmlfile="tickercontent01.txt" にしたいです。
よろしくお願い致します。
Safariの判定 1. switch(){ case "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; ja-jp) AppleWebKit/85.7 (KHTML, like Gecko) Safari/85.6": return "safari1.0"; case Mozilla/5.0 (Macintosh; U; PPC Mac OS X; ja-jp) AppleWebKit/103u (KHTML, like Gecko) Safari/100.1: return "safari1.1"; } 2. elsif ($agent =~ /Safari/([0-9.]*)/i) { if ($agent =~ /(85)/i) { $agent = "Safari 1.0"; } elsif ($agent =~ /(100)/i) { $agent = "Safari 1.1"; } elsif ($agent =~ /(125)/i) { $agent = "Safari 1.2"; } elsif ($agent =~ /(312)/i) { $agent = "Safari 1.3"; } elsif ($agent =~ /(412|416|417|419)/i) { $agent = "Safari 2.0"; } elsif ($agent =~ /(522)/i) { $agent = "Safari 3.0"; } else { $agent = "Safari $1"; } }
追加です。
htmlとjavascriptはShit_JISでエンコードしてます。
Safari2.0以下用には、エンコードを明記して、
tickercontent.txtを作成しました。
<?xml verson "1.1" encoding = "Shift_JIS"?>
<div class="message">
<a href="
http://www.javascriptkit.com " target="_new">日本語</a><br />Comprehensive JavaScript tutorials and over 400+ free scripts!
</div>
よろしくです。
495 :
494 :2008/05/27(火) 03:49:00 ID:???
Safariのバージョンを抜き出せるようになりました。 var n = version//バージョン <script�language="JavaScript"> <!-- //バージョンが500以上だったら if�(n�>�500){ var xmlfile="tickercontent01.txt"; }else{ var xmlfile="tickercontent.txt"; } new ajax_ticker(xmlfile, "ajaxticker1", "someclass", 3500, "fade") //�--> </script> テキストは表示されませんでした。 よろしくお願いします。
496 :
494 :2008/05/27(火) 04:06:19 ID:???
ブラウザ判定と一緒にすると new ajax_ticker(xmlfile, "ajaxticker1", "someclass", 3500, "fade") 上記部分が表示されませんでした。 Safariの3.0以上とそれ以下で xmlfileを別に読み込ませるのは無理なんでしょうか?
497 :
494 :2008/05/27(火) 04:17:11 ID:???
解決しました。 xmlファイルにエンコードを明示しました。 ながながすいません。 基本を勉強します。
498 :
Name_Not_Found :2008/05/30(金) 19:44:21 ID:aIwwTA0o
WindowsXPをシャットダウンするときみたいに ページ全体の鮮やかさを落としてグレースケールすることってできますか? LightBoxみたいに色付き半透明の要素を重ねるのではなく JavaScriptにはできませんか?
IEならアドレス欄に javascript:void(document.body.style.filter="gray()")
>>500 スレッドタイトルに矛盾ってことで おk ?
>>498 JavaScriptにはできない。
できたら既に存在してるはず。
IEだけならfilterでグレースケールにできるけど クロスプラットフォームはわかんね
LightBoxを使っているんですが、ページが縦に長い場合だと 背景が透明でなくなる(真っ黒になる)など、IEだと上手く動作しません (Firefoxでは正常に動作します) これの解決法はないのでしょうか?
つっかLightBoxて、進む戻るでマウスをクリックオンしたら IEじゃ左右マップエリアの分割線がでてきて汚くね?
>>502 あほか
setTimeoutを使えばできるだろ
507 :
506 :2008/05/31(土) 00:21:01 ID:???
>LightBoxみたいに色付き半透明の要素を重ねるのではなく
よく読んでなかった
>>502 すまんかった
質問です。 firebugを入れてみたのですが、これってデバッグだけで ソースの編集はできないのでしょうか? できるとしたらどうやるのでしょうか? 基本的なことですみませんがよろしくお願いします。
確かに、背景の彩度を落とせるのなら そういったLightBOXクローンが既にありそうだよな
>>509 そうですか。
javascriptをデバッグするためのツールだと思っていたので
ここでいいかな、と思ったのですがダメなようですね。
firefoxスレで聞いてきます。
512 :
504 :2008/05/31(土) 22:40:47 ID:???
>>505 自分は特に気にならないです
検索しても、同じ症状の人がわずかにいる程度で
どこにも解決策がない感じです。
どなたかご教授お願いします
>>512 うんじゃあリンクさせたstylesheetを見直すか
そこらさわってないなら例えばこのへんちょい弄ってみ?
overlayBgColor: '#hogehoge',
overlayOpacity: 0.7,←この数値を変えてみるとかしてみて
同じ症状が再現されるのかどうか
514 :
512 :2008/05/31(土) 23:56:45 ID:???
>>513 ありがとです。
スタイルシートはlightboxのだけで、他のは切って試行錯誤してます
#overlay{
position: absolute;
top: 0;
left: 0;
z-index: 90;
width: 100%;
height: 500px;
background-color: #000;
filter:alpha(opacity=60);
-moz-opacity: 0.6;
opacity: 0.6;
}
ってやってるんですが、
opacity: 0.6;を色々変えてみましたが駄目でした…
#overlayでCSS作らないで ↓ こんなんでいいんじゃね? <link rel="stylesheet" type="text/css" href="./jquery-lightbox-0.5/css/jquery.lightbox-0.5.css" media="screen" /> <script type="text/javascript"> $(function() { $('#hogehoge 01').lightBox({ fixedNavigation:true, overlayBgColor: '#000', overlayOpacity: 0.6, imageLoading: './jquery-lightbox-0.5/images/lightbox-ico-loading.gif', imageBtnClose: './jquery-lightbox-0.5/images/lightbox-btn-close.gif', imageBtnPrev: './jquery-lightbox-0.5/images/lightbox-btn-prev.gif', imageBtnNext: './jquery-lightbox-0.5/images/lightbox-btn-next.gif', containerResizeSpeed: 350, txtImage: '512のイメージ', txtOf: '/' } ); });
516 :
512 :2008/06/01(日) 19:33:01 ID:???
>>515 すみません、色々試してみましたが理解できませんでした。
<link rel="stylesheet" type="text/css" href="./jquery-lightbox-0.5/css/jquery.lightbox-0.5.css" media="screen" />
は、自分がprototype版使ってるんで、prototype版のcssを読み込ませました。
<script type="text/javascript">
以下は、<head>〜</head>内やリンク場所に記述しましたが
上手く作動しませんでした。
やり方が間違っているようでしたら、ご教授お願いします。
>>516 ttp://leandrovieira.com/projects/jquery/lightbox/# このページのこれを使って上のようにやれば、IE,FF,Safari,Operaでもそういうエラーでないよ
prototype版でつまずいてるなら、こっちの方がより導入しやすいんじゃないかな?
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/jquery.lightbox-0.5.js"></script>
あと、
>>515 で書いたものは、<head>〜</head>間に、読み込ませるものの場所は
鯖に置いた場所に書き換えてくださ。
で、上で書いてるhogehoge 01部分は写真または写真のグループにつけてる便宜上の名前
こんな感じ(以外と簡単なので上のページのソースを見ればすぐわかるとおもわれ)
<a href="photos/image1.jpg" title="For this example: $('#hogehoge 01').lightBox();">【写真】
<img src="photos/thumb_image1.jpg" width="72" height="72" alt="サムネール" />【サムネール】
imageLoading/imageBtnClose/imageBtnPrev/imageBtnNextの部分は、←、→、クローズボタン、ぐるぐるマークを入れている場所。(元のものを自作品とコンバートしたときなどにも使える)
質問させていただきます。 初心者で大変申し訳ないのですが、、 下記のようなものをjsで制作したいのですが、うまく出来ず困っております。 <body> <form> <input type="text"> <input type="button" value="数を1づつ増やす"> </form> </body> ボタンを押すとテキストボックスの中の数字が 1.2.3・・・と数が増えていく仕組みにしたいのです。 本当に丸投げで申し訳ないのですが、、どなたか 分かるかたがお見えになりましたらよろしくお願いいたします!
あと fixedNavigation:true,を書いていると、常に進む、戻るの表示が 書かない場合は、マウスがクリッカブルエリアに入った場合のみ 進む、戻るの表示が出てくる仕組みです
>>517-519 詳しくありがとうございます。
無事に導入出来ました。
残念ながら、縦に長いページだとやはり背景が半透明で無くなるようです。
せっかくのアドバイスをいかせれず、申し訳ないです…
う〜ん、長くても半透明に出来てるけどなあ… もしかして、他にもjsつかってて、何かを閉じ忘れてる箇所が どこかにあるんじゃないかなあ、});とかなんらかのコメントアウトとか。 力になれなくて済まんお
>>520 cssファイル内の
#jquery-overlayのposition: absoluteのところを次のように書き換えれば幸せになれるかも
position: fixed;
_position: absolute;/* IE6 fix */
>>518 初心者って言葉は嫌いだし、試してもないけれどこんな感じだと
<script>
function nPlus(){
return document.data.number.value++;
}
</script>
<form name="data">
<input type="text" name="number" value="0">
<input type="button" onclick="nPlus()" value="増やす">
</form>
parseInt
文字列をインクリメントするとNaNが帰ってこない?
>>526 ごちゃごちゃ言わずに
parseInt(document.data.number.value)++;
って書いた方が親切かも。
なにやってんだこいつら・・・
>>523 function nPlus() {
var defVal = 0;
var num = parseInt(document.data.number.value);
document.data.number.value = (isNaN(num)?defVal:++num);
}
javascriptの正規表現について質問させてください。 文字列が16進文字列1〜6桁かどうかを判定する正規表現ですが、 自分で考えて書いてみました。 あっているでしょうか? もし間違っているなら指摘してもらえないでしょうか? /^[0-9A-F]{1,6}$/i.test(Hex_Str) /*Hex_Str=16進文字列*/
あってるあってる
532 :
530 :2008/06/04(水) 09:16:34 ID:???
Webサイト制作のスレから誘導されて来ました。
先程某ゲームのまとめページを作ろうと思って、ツリー(階層って言うのか分かりませんが・・・)形式で表示させようと思いました。
しかし、3層目までは正常に表示されていたのに、4層目の文字位置が3層目の位置と被ってしまいました。
9層作りたいのですが、解決法を教えて頂けないでしょうか?
説明がうまくできてなさそうなので一応URL貼っておきます。
ttp://w1.oroti.com/~endless/buki.html 返事お待ちしております。
>>533 JavaScript ではなくて、HTML のタグの問題だと思いますよ
現在
<li><a href="javascript:void(0)" id="category_3" onclick="show('3');">木刀 攻B 命C EN100 効果none</a></li></div>
変更案
<li><a href="javascript:void(0)" id="category_3" onclick="show('3');">木刀 攻B 命C EN100 効果none</a>
試しに上の一行だけを変更案のように変更してみた上、動作確認してみてください
こちらでは期待通りの動作をすることを確認しました
動作確認できましたら、Doctype 宣言無しや終了タグの関係がぐちゃぐちゃになっているなど、
HTML タグが無茶苦茶になっているので、HTML 文法チェッカーを使って一箇所ずつ修正してみてください
■文法チェッカ 「Another HTML-lint」
http://openlab.ring.gr.jp/k16/htmllint/htmllint.html
535 :
533 :2008/06/04(水) 20:25:20 ID:???
>>534 ありがとうございます。
変更してみたところできました。階層が深くなって行くにつれてどうも自分の頭で理解できなくなってきてたみたいです。
もう一度全体見渡してチェックしてみます。
>動作確認できましたら、Doctype 宣言無しや終了タグの関係がぐちゃぐちゃになっているなど、
>HTML タグが無茶苦茶になっているので、HTML 文法チェッカーを使って一箇所ずつ修正してみてください
まだ作りかけなので支障出ない程度にしてあるつもりでした。
>>535 後で見直しても分かりやすいように、ソースの書き方を例えば
<1つ目の何か
<2つ目の何か
<3つ目の何か
</3つ目の何か
</2つ目の何か … 以下省略
のように分かりやすく書くことも有用だと思いますのでご参考までに
作りかけなので〜といって手を抜いてしまった or 後回しにしたことがあると、
後でどこがおかしいのか分かりにくくなったり修正作業が大変になりますので、
出来る限り最初から正しく作っておいた方がよいと思いますよ?
正しく作ろう作ろうとしても、
結局なぜか 90% くらいの完成度におさまる(動作不良が残る)ことが多いですしw
>>536 アドバイスありがとうございます。
そうですね。確かに書き忘れてたりで修正多くなってしまうので
後回しに極力しないようにしたいと思います。
538 :
Name_Not_Found :2008/06/06(金) 02:49:22 ID:RW/zk81i
ちょっと種類が違うのかもしれませんが、質問させて下さい。
HTMLのテーブルを必要によって前後左右に並び替えるといったjavascriptはありますでしょうか?
調べたところ、下記のようにテーブルの表をソートするようなjsはいっぱいみつかったのですが
ttp://phpspot.org/blog/archives/2007/05/javascripttable.html ソートではなく、縦一列に並べたり、横二列にしたりできるような物を探しています。
ユーザが自由にドラックアンドドロップで組み替えると言うものではなく、php等のプログラムのループ処理で
出力したデータをjsを使って任意の縦何列横何列と言う表示にしたいのです。
php等で、ループ処理をすると通常htmlには
A
B
C
D
と出力されますが、これをjsを使って
A B
C D
や
A B C D
のように任意に表示したいのです。
もしよろしければお力添え願えないでしょうか。
>>538 表というのは縦横それぞれ意味があって並んでいるわけで、
それを並べ替えてしまうのは表自体が意味の無い物になってしまう。
単にデーター並べるだけならそれは表ではなくリストなので<ul><li>を使え。
リストなら<li>の幅を指定しfloatさせて<ul>の幅をjavascriptで変更すればできる。
幅の指定やfloatがわからなければCSS板に行きなさい。
>>538 自分で書け!
そんなに難しくないぞ!!
>>538 >>539 の発言と同意見.
ただ... "表" ではなく, "matrix" という考え方もある.
この場合は "並び替え" と言うよりもレイアウト替えと言った方が良さそう.
当然ながら mark-up も変わって来るし, 対応する script も別物となる.
気になるのが その目的...
何ゆえに ?
それさえ はっきりすれば今回に限って...
テーブル1とテーブル2を左右に並べて、
テーブル1の値を利用してテーブル2に公式を作り判定したいです。
テーブル1の結果は公式を使って算出したものです。
2個テーブルがあり、片方を参照してもう片方の結果を出す方法がわからず、
テーブル2に文字を表示することすらできません。
(自分なりに式を記入したらさまざまなエラーが出て作業がすすまなかった)
どうすればテーブル1の結果を参照してテーブル2に結果を記入できるか
教えていただきたいです。
うまく説明できず抽象的過ぎると思うので参考にhpをのせておきます
hp:
http://www.geocities.jp/summermagcup/sankouyou.html @hpで0と出ている場所は数字記入する場所です
AE1の2個目の空欄に記入したいこと
数字記入欄すべてにに0より大きい数が記入されている場合は
D1(後に数字があれば後、後が−と表示されるの場合は前)
+D2(D1と同様)-A1-25
の絶対値を記入。
数字記入欄に0以下の数が有る場合は-と表記
(整数以外記入できないようにする予定なので空欄などは考えない)
よろしくお願いします。
やたらとevalを使うなよ。 parseIntがいるんだから
>543 parseIntに直しました、ありがとうございます。 参考にしたページ(5個以下なら単価500円・10個以上なら単価450円・20個以上で400円で金額を出す) っていうHPがそうなってって、evalしらべたら文字を評価するって説明だったので 個数で値が変化するのからそれがあってるか評価するってことかと勘違いしてました。 parseIntは整数にする(小数点以下切り捨て)となってるのでそれじゃダメなのかと考えて そのまんまにしてました。 理解不足申し訳ありません。
546 :
Name_Not_Found :2008/06/11(水) 09:05:45 ID:RqIifVPw
質問スレから誘導されてきました。 チェックボックスをいくつか作り、各々のチェックボックスをチェックした場合、 そのチェックボックスに対応した画像だけを点滅させたいのですが、 良い方法はないでしょうか? 指定した画像だけをvisibleにしたりhiddenにして表示したり、消すことはできるのですが、 点滅となると、それぞれのチェックボックスをチェックして、その後にチェック結果を画像に 反映させるべく、ボタンを押させてjavascriptの描画functionを呼び出すと、再度同じページを そのまま読み込んでしまい、指定した画像だけを点滅させることができません。 チェックボックスをチェックしたら、それと同時にjavascriptの関数を呼ぶ方法はないでしょうか。
javascriptを使ってテキストボックスに更新履歴みたいなのを表示させたいんですが、タグをいじるのではなく別なページで入力してそのテキストエリア内に反映させるってものを作りたいのですが、こういうことは可能なのでしょうか? いくら調べても載ってないのでわかる人がいたら教えてくださいおねがいさます。
>>546 ああた, "質問スレ"と同じ内容を張り付けるとは...
正直, 読みづらいのをなんとかしてくれ〜.
{短く, 簡潔に} 書くことは script でも重要な心がけなのだ.
>チェックボックスに対応した画像だけを点滅させたい
"点滅" というのは "blink" ということなのかな ?
そうだとすると, setInterval もしくは setTimeout を使うことになるけど,
はっきりいって鬱陶しい物に仕上がりがち.
それと "対応していない画像" は どうなるの ?
>ボタンを押させてjavascriptの描画functionを呼び出すと、
>再度同じページをそのまま読み込んでしまい
"javascriptの描画function" とやらに問題がありそうだねぇ.
問題部分が不明なままで
"それと同時にjavascriptの関数を呼ぶ方法"
と言われてもねぇ.
で, ああたの望みは何 ?
>>547 ああた も 前提条件の部分が意味不明.
>テキストボックス
おそらくは input type="text" の意味なんだろうけど, う〜ん.
>更新履歴みたいなの
おそらくは "更新履歴" そのものなのだろうけど...
そうだとして わざわざ JavaScript を使う理由が理解できない.
"更新履歴" を使い回す必要があるのなら ともかく.
>別なページで入力して
はぁ ?
もしかするとCGI の管理画面みたいなものを考えていないかい ?
進歩がないね
>>548 レスありがとうございます。
>はっきりいって鬱陶しい物に仕上がりがち.
なにかあった時に見てもらう非常用なのでそれでかまわないです。
>それと "対応していない画像" は どうなるの ?
なので、すべて点滅させる方法は分かっているのですが、指定した画像だけ
点滅させる方法が分からなくて。
>>551 とりあえずのサンプル:
homepage2.nifty.com/alter/samples/blink_images/exam.html
・ checkbox を使う理由を複数選択目的と予想.
・ 急作りなので global variable 使いまくり(要するに突っ込みどころ多し)
>>552 なにこの妙な点滅間隔?
とおもってソースみたらおま、これsetInterval重複しまくりなんじゃないの?
global使いまくりを気にしてるってレベルじゃねーぞ!
555 :
553 :2008/06/12(木) 15:32:21 ID:???
ごめ、ちょっと言ってみただけ
>>554 指摘されるとすぐそうやってかわすよね
本当に向上心がないね
>>553 的確な指摘 !
実は自分でも動作が思わしくないと思ってたんだ.
ただ, その原因を別な理由だと思いこんでいた.
で, script の流れを見直してみると
確かに setInterval を重複して呼び出す結果となっていた.
とりあえず修正しますた.
>>552 getElementsByTagNameない場合にalertでも出してreturnしとけ
clearInterbal要るか?setTimeoutで回した方が意図明確じゃん?
いきなしfunction並べるのやめれ
どうせwindowスコープ食うなら一つにまとめろよ
>>558 とりあえず動くだけで 突っ込みどころ満載なのは相変わらず.
それ以前に質問者の意図を確認する意味の方が大きい.
こちらが勝手に想像して作ってるに過ぎないからだ.
でも, いつものことながら無反応になるのはなぜなんだろう ?
実は実力を試していたとか
>>558 良く読むと, 言ってる意味が判らない.
説明してくれないかな ?
1. "getElementsByTagNameない場合"とは何を意味する.
2. "alertでも出してreturnしとけ" とは何ゆえに ?
3. "どうせwindowスコープ食う" とは何を意味する ?
4. "いきなしfunction並べるのやめれ" とは何ゆえに ?
列挙すると全部意味不明だな.
>>560 そう考えるのが自然だね.
しかし, 普通, 他人に対する関心がない人がほとんどなのも また事実.
>>560 ある質問に対し、相手が親切心で回答したものが見当外れだった場合には、
a. 間違っていると指摘する。
b. 相手を傷つけるのは申し訳無いのでスルー。
という対応が考えられるけれど、bを選択する人が多いのでは。
ある程度的を射ている回答でも反応が無い場合もあるけど、
まあそれも2chの質問スレらしく、第三者の参考になればそれで良いと思うけどね。
>>561 1,2
単にgetElementsByTagNameが使えない場合の抑制。
なくても実害は年々減ってるな。ごめん。
3、function xxx(){}はブラウザ上のスコープ食うでしょ。
ぶつかる可能性は減らせるなら減らそうよ。
匿名関数使ってるあんたなら、考えれば判るっしょ。
既存ライブラリやらブログパーツやCMS固有のjavascriptが
大量にロードされがちな昨今だしね。
4、これも3/と同じ。釈迦に説法かもしらんけど
function a(){
//ここにb()でしか使われないコード
}
function b(){
//ここにaを使うコード
}
よりは
function b(){
var a=function(){
}
//aを使うコード
}
だろと。
グローバル変数もb()のレキシカルに収められるよ。
>>564 >覚えたんだ
?
window.onload=function(){} も匿名関数の適用
xxx.onclick=function(){}も匿名関数の適用
setIntervalにeval用文字列渡さないのも判ってるって事だろ
括弧でくくってるだけだし 知らないんではなく理解が足りないんだろ
>>552 見せていただきました。
まだ完全に理解してないので少しずつ勉強させてもらいます。
できたら消さずに残しておいていただければありがたいです。
ありがとうございました。
Firefox限定で良いので、div上からマウスポインタが離れるとopacity:0にしたいです。
・divのmouseover/mouseoutを使うとdiv内にspanなどがあると
div自体から出入りしていないのにイベントが発生して使えない
・divに:hoverを適用するとほぼ希望通りになるのですが
特定の条件でopacity:0にしたくないといった制御が出来ません
ttp://jsajax.com/bindhoverArticle885.aspx のOuter2のようにイベントが発生してくれると良いのですが、jQueryは使わないで
実現したいです。
どうすれば良いのでしょうか
hover関数に目を通す
:hover擬似クラスのスタイルを動的に変更することは出来ないんでしょうか?
classを切り替えるといい スタイルシートとスクリプトは切り離しておくべき
>>573 クラスを切り替えは、mouseover/mouseoutのイベント問題が解決しないと
実現出来ないように思いますが、如何でしょうか?
>>574 いやだからouter2はhover関数そのまんまじゃん
>>575 hover関数とやらだけを抜き出すのって簡単ですか?
jQueryって一部だけ抜き出そうとしても難しくないですか?
>>570 どうも状況が掴めないんだけど
>divのmouseover/mouseout を使うとdiv内にspanなどがあると
>div自体から出入りしていないのにイベントが発生して使えない
具体的なサンプルかソースがあると状況が掴みやすいんじゃ ?
(span の有無は関係なさそうに思えてならない)
>のOuter2のように
やたらとレスポンスが悪いページなので確認不可能.
>jQueryは使わないで
問題の骨子は div に "mouseover/mouseout" を付加させるってことなのでは?
"jQuery" などが話題に登場する理由を逆に知りたい.
>>577 先のページのサンプルがまさに状況を表しています。
通常はOuter1のようにイベントが発生するのでmouseover/mouseoutで
opacityの切り替えは出来ないかと思います。
jQueryが話題に出てきているのは、先のサンプルページのOuter2で
やりたいことが実現できているのですが、そいつがjQueryを使っているからです。
>>578 >通常はOuter1のようにイベントが発生するので
それは "jQuery" を使っている副作用なのでは ?
("通常は" と言う部分は実は通常なんかではなく, 通常はそんなことはありえない)
問題のページのことは忘れて目的を整理しなおした方が話が早いと思いますよ〜.
ようは div ブロックに対して onmouseover/onmouseout で
"opacity" を変化させたいってことなのでしょ ?
(現時点での "opacity" は微妙な状況であるのは別にして)
>>579 いいえ、違います。jQueryを使っていないサンプルで同様の現象が起こっています。
検索してみても、そのような動作になっている事例がたくさんみつかります。
>>580 だから...
>>579 の後半部への答えはどうなのよ ?
認識が間違ってるのなら指摘して欲しい.
もしもその通りなら極めて簡単にサンプルが作れますよ !
>>581 要はと言われればそうですが、
>>580 の点を認識していないようであれば、
結局意図通りの結果が得られないことは明白だと思います。
<style type="text/css">
.outer {position: relative; width: 220px; height: 96px; border: solid 1px black; background-color: coral;}
.inner {position: absolute; top: 40px; left: 40px; border: solid 1px black; background-color: khaki;}
</style>
<div class="outer" id="outer1" onmouseout="alert('out')">Outer 1<div class="inner" id="inner1">Inner 1</div></div>
でInner1にマウスが入ると、outってなりますよね?
これじゃmouseoutでopacity切り替えは出来ないことになります。
>>582 なるほど !
つまり子供の element に onmouseover になったときにも
親からみれば onmouseout になってるってことなのね.
だったら そうなる状況を除外すれば良いでしょ ?
一応補足しておきますが、opacityを切り替えたいのはouter classです。
outerから外に出てはじめて透明になって欲しいのです。
当然、outerが透明になるので、innerも含めて全て透明になって構いません。
但し、outer→innerというマウス移動でouterが透明になっては駄目ということです。
>>583 > だったら そうなる状況を除外すれば良いでしょ ?
とは?
>>582 ちょっと ふてくされた状況なんですがサンプル作って見ます.
(そもそもσ(^_^;)はこのスレッド出入り禁止の問題児)
ウダウダ言ってるよりその方が早いと思うので.
>>582 せっかく読みやすい(というか非圧縮な)各種フレームワークのソースコードが公開されているのだから、
それを見てノウハウを吸収しない手は無いと思うけどね。
mouseover/mouseoutの子エレメントでのイベント発生については、
恐らくどのフレームワークもイベントオブジェクトのrelatedTargetを使っていると思うので、
ソースをrelatedTargetで検索してみては。
>>584 サンプル:
homepage2.nifty.com/alter/exam/exam.html
・ 2 つの違いを見比べて ください
両者の違いは onmouseover が設定されているかどうかだけ.
いろいろ調べるうちに親子 element に対する event handler の挙動は
不可思議な部分が多い印象を受けました.
・ "opacity" を background にすり替えています
W3C 規格として将来, 定められる予定のようですが,
現時点での web-browser の対応状況はバラバラなためです.
Proxyを設定して見に行くのも面倒なので、
誰か暇な人が
>>587 のソースを分割して貼ってくれる事を期待。
js: window.onload=function(){ var css0,css1,elm1; css0='background-image:url(../i/flowers/RedCyclamens.png)'; css1='background-image:url(../i/flowers/YellowTulips.png)'; elm1=document.getElementById('outer1'); elm1.onmouseout=function(){elm1.style.cssText=css1;} elm1.onmouseover=function(){elm1.style.cssText=css0;} var elm2; elm2=document.getElementById('outer2'); elm2.onmouseout=function(){elm2.style.cssText=css1;} } /* */
css: .outer{ position:relative; margin:1em; width:220px; height:96px; background:url(../i/flowers/RedCyclamens.png); } .inner{ position:absolute; top:40px; left:40px; background-color:khaki; color:#000000; } /* */ ==================================================== html: <div id="demo"><h2>DemoSample</h2> <div id="outer1" class="outer"><h3>Outer 1</h3> <div id="inner1" class="inner"><h3>Inner 1</h3></div> </div> <div id="outer2" class="outer"><h3>Outer 2</h3> <div id="inner2" class="inner"><h3>Inner 2</h3></div> </div> </div>
>>588 一部改行削った。
exam.txt:
<div id="demo"><h2>DemoSample</h2><div id="outer1" class="outer"><h3>Outer 1</h3>
<div id="inner1" class="inner"><h3>Inner 1</h3></div></div><div id="outer2" class="outer">
<h3>Outer 2</h3><div id="inner2" class="inner"><h3>Inner 2</h3></div></div></div>
exam.css:.outer{
position:relative;
margin:1em;
width:220px;
height:96px;
background:url(../i/flowers/RedCyclamens.png);
}
.inner{
position:absolute;
top:40px;
left:40px;
background-color:khaki;
color:#000000;
}
exam.js:window.onload=function(){
var css0,css1,elm1;
css0='background-image:url(../i/flowers/RedCyclamens.png)';
css1='background-image:url(../i/flowers/YellowTulips.png)';
elm1=document.getElementById('outer1');
elm1.onmouseout=function(){elm1.style.cssText=css1;}
elm1.onmouseover=function(){elm1.style.cssText=css0;}
var elm2;
elm2=document.getElementById('outer2');
elm2.onmouseout=function(){elm2.style.cssText=css1;}
}
592 :
591 :2008/06/17(火) 00:42:48 ID:???
かぶった御免。
>>588 >Proxyを設定して見に行くのも面倒なので
ん ?
どういうことっすか ?
なにゆえに "Proxyを設定" ?
なにか問題があるのなら記載方法を変更します.
問題はなかろ ただupロダ経由じゃない個人のweb系に IP抜きやらの仕込みがないか怖がる奴がいる訳です 世知辛いですが、2chにおいては俺も気持ちは判るほう コード専門なペースト公開サービスもあるから、調べてみると吉かもですね
>>594 素早い返答ありがとっす.
nifty の server では小細工など無理なような気がします.
(そういったことには興味なしなので単に知らないだけかも)
>コード専門なペースト公開サービスもあるから
確認できた動作状態のまま, ミスの混入なしに
ソースを公表できるので今の形式に落ち着きました.
特に問題がないのなら現状維持ってことで.
nullは癖はあるけど善人だと思っている俺はお人好しw
スキルの無い善人がとほほみたいな害悪サイトを量産するから困る
>>594 まちBBSの東京板のようにホスト名まで全公開な掲示板がある時代に、
IP抜きとはこれまた懐かしい単語で。
どうせスレに貼っても問題無い分量のコードをわざわざ自サイトに置くような、
宣伝的な行動が嫌なだけでは。
ψ(゜w ゜)ψ Shi~~~~~t !!!
サムネール画像をクリックすると、大きな画像がフェードしながら消えて
フェードしながら出てくる、という動作のこういうものを
ttp://www.dynamicdrive.com/dynamicindex17/featuredcontentslider.htm もっともっとシンプルにしてjQueryでつくりたいと思い
jQueryをダウンロードしてとりあえずこんなふうに書いてみましたが、うまくいきません
<script type="text/javascript">
<!--
jQuery().ready(function(){
jQuery.noConflict();
jQuery(".サムネール").onClick(function(){
jQuery("#大きな画像").hide()
return false;
jQuery("#大きな画像").load(function(){
jQuery("#大きな画像").fadeIn("slow")
});
});
//-->
</script>
何が悪いのか教えてください
文法
。・゚・(つД ;)・゚・。 て、手取り…
>>603 舌足らずですんません。エスパ−さんしてもらった通り
そのまま思ってた機能が実現してます、すげえ…
どうもありがとうございます
こ、これは‥神だ いやもうマジでかさねがさねありがとうございます。 ほんとにありがとうございます。
JavaScriptでクッキーを保存して、別のスクリプト(perl)で利用しようとしているのですが、うまくいきません。 ディレクトリの場所は同じところです。 <a href="aaa('0')">aaa</a>(0のところは一桁半角数字のみ) というように呼び出していて、JavaScriptでは function aaa(i){ kigen = new Date(); kigen.setTime(kigen.getTime() + (30 * 60 * 60 * 24)); kigen2 = kigen.toGMTString(); document.cookie = "aaa=" + i + ";expires=" + kigen2; window.location.reload(); } というようにしています。 perl側では他の、perlのほうで設定したクッキーは読み出せているのですが・・・ もしできましたらお願いします。
608 :
607 :2008/06/21(土) 17:13:41 ID:???
すみません、解決しました
>>603 横レスしてすみません
>はじめ画像読み込むときにちらつくから先に読んでおいた方が良い
こういう先に画像を読ませるのっていうのは、どういう風にしておくのでしょうか
>>609 function go(){
var g = "
http:// " + document.form.num.value + ".html";
location.href(g);
}
function expl(){
var ex = ["説明文1","説明文2","説明文3"];
var num = parseInt(document.form.num.value);
document.form.ex.value = ex[num-1];
}
これじゃダメ?
612 :
472 :2008/06/22(日) 18:13:32 ID:???
課題でスロットゲームを作っているのですがスロットを回す処理(処理を繰り返し行うところ)が うまくいかず、処理が正しく繰り返されません。別のスレで質問したのですが ソースが汚いから基礎をもう一度学ぶと良いでしょうとアドバイスをいただきました。 なので、もう一度配列や引数についてサイトや教科書などを見て考えたのですが それらの用例を見ただけではいまいちスロットのどこで配列等を利用してよいかわかりませんでした。
名前はミスです>< これがソースです・・・ function Setimage() { for(i=0;i<4;i++) { image[i]=new Image(200,150); image[i].src="image"+i+".jpg"; } } function Scroll() { time1=setTimeout("Scroll1()",100); time2=setTimeout("Scroll2()",125); time3=setTimeout("Scroll3()",150); } function Scroll1() { document.photo0.src=image[n].src; n++; if(n>=4) n=0; }
function Scroll2() { document.photo1.src=image[n].src; n++; if(n>=4) n=0; } function Scroll3() { document.photo2.src=image[n].src; n++; if(n>=4) n=0; } (中略) <td align="center"><input type="button" name="start1" value=Start! onClick="Setimage();Scroll()">
ぐだぐだと長い汚いソースでお目汚し失礼いたしました・・・ 画像を加算機で、まずn=0とし、ファイル名:n,n+1,n+2,n+3,の順に画像を表示し、 n=4になったらn=0に戻り繰り返し処理を行う。という処理を行いたいのですが・・・ うまく繰り返し処理が行われない原因や見やすいソースにするには、など アドバイスお願いしますm(_ _)m
setTimeoutってのはタイマー。 何秒ごとにって処理をしたいなら setIntervalを使うべき。 setIntervalの停止はclearIntervalで。
レスありがとうございます function Scroll1()の中にtime1=setTimeout("Scroll1()",100);を、 function Scroll2()の中に time2=setTimeout("Scroll2()",150);を、 function Scroll3()の中に time2=setTimeout("Scroll2()",150);の処理を 入れたら回ったのですが、 上に書き込んだソースの time1=setTimeout("Scroll1()",100); time2=setTimeout("Scroll2()",125); time3=setTimeout("Scroll3()",150); をすべてsetIntervalに書き換え、function Scroll1,2,3() の中にそれぞれ入れた3つの time=setTimeout("Scroll()",数字);もsetIntervalに書き換えたところ固まりました;; といっても・・・わかりにくい説明ですみません・・・ソース全体がないと分かりにくいですね 申し訳ないです;;
なんかソースも長くて要点整理して書き込むこともできず質問内容がぐだぐだになって しまったのでもう少し頑張ってみます。スレ汚し失礼しましたm(_ _)m
>>610 display:noneにしたimgタグをはじめに書いておいちゃうとか。
デカイ画像を見ないかもしれないのに初めに読み込むのは重くなって嫌だなっていうのなら、
ちょっと遅らせてからimgタグ作って読み込むとかかな
画像の量やサイズと相談しながらだね
>>619 ありがとうございました。
違う通信環境で色々やってみて勘をつかまないとダメそうですね
621 :
609 :2008/06/24(火) 00:43:10 ID:???
622 :
611 :2008/06/24(火) 19:28:01 ID:???
>>621 ソースミススマソ
location.href(g)をlocation.href = g;
にしてみてくれ
623 :
609 :2008/06/24(火) 20:32:29 ID:???
>>622 ありがとうございます。拡張?した書式だとダメだということですかね?
OperaではやっとIEと同じ動作になりました。
しかしFireFoxだけは変わらず・・・最新の2.0.0.14にもして見ましたが変化無し。
それで、alertをはさんでみたところ、location.href=g;が(location.href(g);も)動作しない様に見えます。
うーん。
>>623 手元で試してみたけど、警告は出てるが、ページ遷移はしてるよ
>>624 <script type="text/javascript"><!--
function go(){
var g = "
http:// " + document.form.num.value + ".html";
location.href = g;
}
function expl(){
var ex = ["説明文1","説明文2","説明文3"];
var num = parseInt(document.form.num.value);
document.form.ex.value = ex[num-1];
}
-->
</script>
<form name="form">
<select name="num" onchange="expl()">
<option value="3">3
<option value="2" selected>2
<option value="1">1
</select>
<input type="button" value="GO" onclick="go()"><br>
<input type="text" name="ex">
</form>
これで動きましたか?といってもアップロードしたものを
>>611 と
>>622 で書き直したものですが。
>>625 > var g = "
http:// " + document.form.num.value + ".html";
だよね?
だから遷移自体は動いてるって。逆に動かないほうがおかしいと思うけど。
Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14
ありゃ、ごめん。コードはそのままだったね。 専ブラの表示がおかしかっただけか。
なんて無駄なやりとりだろう. こいつら間違いなく ばかだ !
629 :
609 :2008/06/25(水) 00:53:37 ID:???
>>626 >逆に動かないほうが
そうなんですよねぇ。と思って
Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9) Gecko/2008052906 Firefox/3.0
にもしてみましたが変わらず。そこでエラーコンソールを見ると
エラー: uncaught exception: [Exception... "Component returned failure code: 0x805e000a [nsIDOMLocation.href]"
nsresult: "0x805e000a (<unknown>)"
location: "JS frame :: file:///C:/Documents%20and%20Settings/Owner/%E3%83%87%E3%82%B9%E3%82%AF%E3%83%88%E3%83%83%E3%83%97/search3.html :: go :: line 4" data: no]
というエラーが出ていた模様。例外?よく分からないけどFireFoxのせいなのかなぁ。実行したのは
>>625 と同じものです。
>>625 と同じでどうやってsearch3.htmlなんて捻り出したんだ?
あなた嘘ついてるわね
631 :
609 :2008/06/25(水) 18:02:24 ID:???
>>625 うちでは普通に動くよ。
アドオンのせいかね?
プロパティの実験をしていたのですが、以下のコードを実行するとエラーが出てしまい動きません。 ページがロードされた時点でアラートを表示できるようにしたいのですが、どうすればできるでしょうか? 試したブラウザ:FireFox3, IE7 エラーの出る場所:15行目の3文字目 エラーの内容:このオブジェクトではサポートされていない操作です。 08 var Func = { 09 str: "こんにちは", 10 init: function() { 11 alert(str); 12 } 13 }; 14 window.onload = function() { 15 f = new Func(); 16 f.init; 17} 恐らく初歩的な勘違いだと思うのですが・・・。 よろしくお願いします。
うむ、f.init; の時点でかなり基本的な部分を理解してないように見えるお 動くように書いた一例 var Func = { str: "こんにちは", init: function() { alert( this.str ); } }; window.onload = function() { Func.init(); };
エスパーだが
>>633 はコンストラクタを作りたいんじゃないかな
>>633 >>635 ということは
var Func = function() {
this.str = 'こんにちは';
this.init = function() {
alert(this.str);
}
}
var f = new Func();
f.init();
こうか、もしくは、
var Func2 = function() {
}
Func2.prototype = {
str: 'こんにちは2',
init: function() {
alert(this.str);
}
}
var f2 = new Func2();
f2.init();
こうか。
637 :
609 :2008/06/26(木) 17:15:32 ID:???
>>632 FireFoxを日常的に使わないので(逃げですけど)
何かアドオンを入れないと動かないということでしょうか?
638 :
17 :2008/06/26(木) 21:05:36 ID:???
document.getElementById("").innerHTML についてなんですが、 ちょっとわけがわからなくなったんで、お聞きします。 <table><td> <div id="write1"></div> <div id="write2"></div> とゆうようなHTMLがあり、javascriptの中で、 var str1 = '<a href="....">aaa</a><br>'; str1 += '<a href="....">aaa</a><br>'; みたいな感じで、10件ほどループでstrに放りこんで、その件数により、 var str2 = '<hr><a href="javascript:pre_p()">前へ</a>'; if(なんたら〜){ str2 += '<a href="javascript:next()">次へ</a>' ; } として、 document.getElementById("write1").innerHTML = str1 ; document.getElementById("write2").innerHTML = str2 ; とやったのですが、下側の"write2"(前へ次への部分)の出力がおかしいです。 具体的に言いますと、FireFox2と3では、10件の各リンクと、前へ次へのリンクが正常に表示されますが、 IE7ですと、なぜかこの部分に、前へ(又は次へ)の片方しか出力されません。(上の10件リンクはちゃんと表示されます。) この時、もともと次へか前へかの1つしか入ってない時は、正常に表示されてます。 そこで、出力直前の"str2"を、alert()で出してみますと、ポップアップダイアログには、ちゃんと前へ次への二つの <aタグがあるにも関わらず、ブラウザの表示には、どちらか片方(先に書いたほう)しか表示されません。 DOCTYPE宣言を、HTML4.01 Transitionから、XHTML1.0 Transition、Strict、dtdのURLあるなし等 数パターン試しましたが、どれも同じになります。(FFでは、全てちゃんと表示されます。) なにかご助言頂けませんか?
640 :
639 :2008/06/29(日) 10:16:39 ID:???
ごめんなさい。 改めて見直して見ますと、<a href=""のダブルクォートを閉じ忘れてました。 本当にすいませんでした。
javascriptをこれから勉強したいのですが、 お勧めの書籍などありましたら教えてください。
>>634-636 ありがとうございます。
Javaで言うインスタンスを複数生成して中のフィールド値を別々にセットできるようにしたかったんです。
(インスタンスなんて概念があるのかどうかも疑問ですが)
サーバ側にCometサーブレットと通常のサーブレットを用意して、
Comet側にリクエストを投げっぱなしにして、もう1つ通常のサーブレットにリクエストを投げる
インスタンスを生成を生成する上で、両方で使える共通関数を作成しようと思い、
Javaのクラスとフィールドとメソッドの関係を再現しようとしていた次第です。
クラスベースの真似事したいなら、オブジェクトリテラル返す関数とか作るのも手軽 function funcClass(){ var a="hello" return{ a:a, test:function(){ alert(this.a); } } } window.onload=function(){ var instance = funcClass() ; //newしないので注意 instance.test() ; instance.a="hello2" ; instance.test() ; }
何が手軽なのかまったくわからん それじゃ継承も出来ないし、普通にnewでインスタンス作成するパターンよりコード増えてるがな
あそう
コード中からブラウザのJavaScriptの実行を停止する安全な方法ってありますか?
649 :
Name_Not_Found :2008/07/04(金) 15:24:31 ID:QsjQnEGT
今メールフォームを作っています。 チェックボックスとテキストフィールドを連動させて、 Javascriptでチェックをかけたいのですが教えて頂けませんでしょうか。 チェックボックスは複数個作成し、その内1つをその他とします。 チェックボックスは必須にして、どれか1つのチェックボックスをチェックしないと alertが出るようにしたいです。 また、その他をチェックしたら、連動しているテキストフォームに入力しないと "その他の理由を記入して下さい"とalertを出したいです。 上記のalertは送信ボタン<input name="submit" type="submit" value="情報を送信する"> を押した際に出したいです。 この様なチェックボックスのグループを同じフォームに2つ作りたいです。
>>649 少しは自分で作ってみたらどうだ。
HTMLぐらい分かるんだろ?
if((theForm.check.value == "その他")&&(theForm.text.value == "")){ alert("その他の欄に入力してちょうだい"); return false; } こんな感じかな?(初心者なのでドキドキ)
その他以外はチェックできてなくね
655 :
Name_Not_Found :2008/07/11(金) 19:07:56 ID:dLC9Ahx3
iframeでページを移動するたびにアラートを出したいのですが
以下のように書いてもonUnloadイベントが動いてくれません。
何故なのでしょうか?
それとtarget属性に何も指定されていないリンクをクリックしても
iframeが解除されてしまうのですが、これも何故なのでしょうか?
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS" />
<title>HTA iframe</title>
</head>
<body>
<iframe src="
http://www.yahoo.co.jp/ " height="590" width="100%" id="ifra" onUnload="alert('Unload!')">
この部分は iframe 対応のブラウザで見てください。
</iframe>
</body>
</html>
>>655 それはiframe自体のunloadを待ってるんじゃ。
ページ内にしかけた方がいいと思われます
657 :
655 :2008/07/11(金) 21:24:09 ID:???
iframe内のページのリンクをクリックした場合は unloadはiframe自体のイベントではなくなるのですか? Loadの方はうまくいくのですが・・・
iframeのイベントハンドラは中のページは関係ない。 読み込みはiframe自体読みこんだのを確認しただけ
それはない
外部JavaScriptへのバージョン指定の書き方を教えてください。
>>660 <script type="text/javascript;version=1.7" src="xxx.js"></script>
とかでなく?
>>661 そっちで設定するのかっ!盲点だった、ありがとう
てっきりCSSみたいにスクリプト内に記載することしか考えてなかった
>>661 そんな書き方があるのか
しらんかったわ
>>664 JavaScriptのメディアタイプが4つ登録されたときに
text/javascriptはobsoleteとされたのでapplication/javascriptを使う方がいいんだけど
(だから「mozilla的には、1.7以降は」、というより「標準的には、どのバージョンでも」
text/javascriptよりはapplication/javascriptの方が好ましい)
IEとか古いブラウザはapplication/javascriptを解釈しないので
text/javascriptが未だによく使われている、という背景があって
で、JavaScript 1.6以上を実装してるのものは基本Gecko系だけで
Gecko系はapplicaiton/javascriptを解釈するので
text/javascriptにする必要が特になくapplication/javascriptとなってる、と
複数の子要素をまとめて追加する方法ってありますか? element.appendChild(element); で子要素追加しているのですが、 何行もずらずらと並ぶのがどうにかならないかと思いまして。 element.appendChild(element1+element2+element3+....); element.appendChild(element1,element2,element3,....); とかやってみましたがこれでは無理なんですね。
>>666 標準にはないねぇ
ライブラリ探すか自分でそういう関数(prototype拡張可な環境ならメソッド)をつくるくらい
関数つくるならこんな感じで
// appendChildNodes(element, element1, element2, element3, ...);
function appendChildNodes(parentNode /*, newChild1, newChild2... */) {
var newChildNodes = Array.prototype.slice.call(arguments, 1);
for (var i = 0, len = newChildNodes.length; i < len; i++) {
parentNode.appendChild(newChildNodes[i]);
}
}
>>667 レスありがとうございます。
標準にはないんですね。
教えていただいた関数を追加する方法でやってみたいと思います。
JavaScriptの1.7のyieldはIEでは使えない(1.5までの対応のため)ですが、 これと同じような関数はほかにありますでしょうか?
>>669 IE(JScript)で使えないJavaScript(〜1.7)の機能が知りたいということですか?
これはひどい
argumentsをArrayに変換する必要の無い事例について
そうだった
指定された座標の位置にあるタグ名またはそのID名を取得する方法はないでしょうか?
>>675 すべての要素の位置と大きさを取得すればわかるんじゃない。
>>676 あー、位置だとそうなるのか
クリックした文字列のIDを取得する方法があるって聞いたんだが、その方法なのかな?
実装辛そうだ
>>677 なんだクリックしてもいいのか。
だったら全要素の配列をスキャンして、イベントオブジェクトと一致する要素を探すだけだ。
この文字列のURLの部分のみ取得したいのですがどうすれば良いのでしょうか? var text = document.getElementById("tag").innerHTML; var regex = new RegExp(); var rep = '<div onclick="editId(' + id + ')"></div>'; var text2 = regex.replace(rep, "", text); ------------------------------------------- [regex.replace is not a function] var text2 = regex.replace(rep, "", text);
682 :
680 :2008/07/14(月) 01:51:18 ID:???
自己解決しました
683 :
Name_Not_Found :2008/07/14(月) 03:48:42 ID:fdo1IM8J
正規表現内で変数を使う方法ないかな? var text = "aiutesteo"; var it = "test"; /aiu(it)eo/ このitの部分が実行時によって違うので変数にしたい
new RegExp('aiu(' + it + ')eo')
685 :
Name_Not_Found :2008/07/14(月) 04:04:03 ID:fdo1IM8J
うーん、それでは置き換えできるようになったが var mozi='<div onclick="editId(1)">ああ</div>'; var text='<div onclick="editId(1)">ああ</div>'; var id = 1; var regxp = new RegExp('<div onclick="editId(' + id + ')">.*?</div>'); sch1= mozi.replace(regxp, "-"); alert(sch1); これでなぜか置き換えできないんだorz var regxp = new RegExp('<div onclick="editId('); こうすると unterminated parentheticalというエラーが出る \でエスケープするのかな? でも試しても無理だったしなぁ
その場合エスケープするなら\じゃなくて\\だからな
str.matchでhtml内の日本語文字列を検索したいんですが、 英語はマッチするのに日本語がマッチしません。どうやったら 日本語もマッチできるのでしょうか。 str=document.body.innerHTML; if (str.match("出版社")) { alert("Match"); }
javascript:str=document.body.innerHTML; alert( str.match("出版社") ) 試しにこのスレで実行してみたら見事にマッチしてるが
あれれ、
>>688 さんのブックマークレットだとマッチしますね。
アマゾンのほしい物リストに登録した本から必要な
書誌情報だけを抽出するスクリプト(ブックマークレット)を
作りたいんですが、
>>687 だとなぜ日本語の場合だけ
通らないんでしょう???
日本語も普通にマッチできることが確認できただけでも良かったです。
ありがとうございます。
文字コードがおかしいとか?
691 :
687 :2008/07/21(月) 12:38:17 ID:???
>>690 文字コード変えたらできました。
ありがとうございました。
692 :
Name_Not_Found :2008/07/23(水) 17:19:13 ID:M2iSbYOn
>>692 imgタグから「何をしたいのか」をも少し具体的に。
動けば、何でもいいのかよ。
694 :
692 :2008/07/23(水) 17:57:33 ID:???
>>693 レスありがとうございます。
単純に指定した画像を表示させたいのです。
できなければ
同じようにJavascriptを使って指定したURLにアクセス(ロケーション等でも可)させれば画像表示できるかなと思っています。
ちょこっとサイトの動作テスト等をする際に、他の人が作ってくれたHTMLだったりすると
ヘタに改変して整合性を失ったり、失礼だったり、でも少しだけこの部分の文字列を変えてくれとか
テストする度に度々言えないので、HTMLを崩さずにちょこっと画像の種類を
変えて雰囲気を確認しながら進めていく等の時に使いたいなぁと思っております。
695 :
692 :2008/07/23(水) 18:11:36 ID:???
自己レス失礼します。 <img src="./image.js"> 例えばこのようにしてHTMLは改変せずに指定した画像を表示、もしくはロケーションしたいと考えています。 Javascriptなら設置と導入が簡単かなと思いました。
>>694 それだったら js の方で img 要素を吐き出すようにすればいいだけでは
たとえば image.js は次のようにして
window.onload = function() {
var url = './sample.gif';
var img = document.createElement('img');
img.setAttribute('src', url);
document.getElementById('hoge').appendChild(img);
}
htmlファイルの方は、head 要素の中に
<script type="text/javascript" src="./image.js"></script>
画像を表示したい部分に
<div id="hoge"></div>
697 :
692 :2008/07/23(水) 20:24:14 ID:???
>>696 レスありがとうございます。
せっかくアドバイス頂いたのに私の説明不足でちゃんと伝え切れずに申し訳ありません。
HTMLはxxxx以外一切改変せずにJavascriptで実現できればなと思った次第です。
<img src="xxxx">
上記igmタグは沢山記述されているのでなおさら改変後と改変前の整合性が取りづらいというのもあります。
CGI系は条件的にリンクを張ってはいけない制限がありましてどうしたものかと思い、Javascriptならと思った次第です。
<img src="xxxx" onload="callback(this)" onerror="callback(this)"> これも駄目だ、って言うなら知らん
699 :
Name_Not_Found :2008/07/24(木) 12:11:20 ID:GsPB3BAG
Ajaxで文字列をサーバ側に送って、サーバ側でその文字列をファイルに書き出しているんですが 2度同じ文字列を送信すると、何故かファイルに書き出されません。1度目はうまくできるんですが。 考えた結果Ajax通信が悪いような気がするのですが、そのような仕様はありますでしょうか?
>>699 ・通信方法をPOSTに
・URLにタイムスタンプやらのクエリを付ける
どっちかすればいいと思うよ
702 :
699 :2008/07/24(木) 13:53:41 ID:???
>>700 ブラウザのキャッシュのことでしょうか?
その場合通信するたびにキャッシュを削除または更新しなければならないのですか?
>>701 今までGETでやってたのでPOSTにしてやってみます。
prototype.jsを使ってAjax通信してるのですが、 new Ajax.Updater("./hoge.php",{parameters:Form.serialize("data"),method:"POST"}); とやって、hoge.php内ではPOSTデータをログファイルに書き込む事をしています。 PHPから送信するとちゃんとなるのに、このAjax通信でやると文字化けします。 書き込み、読み込み平常にできるんですがログファイルの文字が読めなくなってます。 原因はどういうことなのでしょうか?
なんだいこのAjax祭りは。
>>702 サーバーのキャッシュじゃないの?知らんがな
705 :
699 :2008/07/24(木) 15:15:58 ID:???
POSTにしてやってみたのですが、非同期通信用オブジェクトのstatusが12152という値を返して
動かなくなってしまいました。このstatusの意味は何なんですか?
検索すると特殊なstatusみたいですが・・・
>>703 Ajax通信をする時は、文字コードをUTF-8にしなければなりません。
それとUpdaterを使っているのに第1引数がtargetIdになっていないのも
原因の1つではないかと。やってみてないので何とも言えませんが。
そのまま引数2つで使いたいなら、UpdaterではなくRequestを使ってみてはどうでしょうか。
>>699 サーバー側スクリプトのレスポンスヘッダで
Cache-Control: no-cache, must-revalidate
を吐かせる。
PHPなら、
header( "Cache-Control: no-cache, must-revalidate" );
とか。
次だ次!
>>707 ソース見てfalseになってる部分があるでしょ
そこに内容配列突っ込めばおk
分んなきゃ諦めろ
710 :
707 :2008/07/25(金) 22:52:54 ID:???
FalseじゃなくてNullって言って欲しかったがありがとう!解決したよ!
document.write が ie6 で競合して困ってる。
広告表示とアクセス解析を兼ねて外部ファイルを使ってるんだけど・・・。
var str = document.location.protocol;
str = str.toLowerCase();
if (str == 'http:') {
document.write('<img src="
http://x.biz/ " width="1" height="1" alt="" />');
}
if (str == 'http:') {
vc = 'ここにバリュコマの広告タグ';
document.write('<div id="kookoku">');
document.write(vc);
document.write('</div>');
}
iframe の広告タグなら問題ないんだけど、新しい広告タグが外部 js なんだ。内部は・・・
//var url = escape(location.href);
//var referrer = escape(document.referrer);
//var param = 'url='+url+'&ref='+referrer;
document.write('<iframe src="
http://y.biz/ " width="468" height="60" scrolling="no" noresize frameborder="no"></iframe>');
火狐では問題なく表示されるけど、IE6はスタイルシートが効かなくなる。
ファイルを二つにすればいいんだけど、ローカルベースのデータベースだから、
なるべく書き換えたくない。アップロードにとんでもなく時間食うから。
競合回避に、なんかいい方法ないかな。
>>710 false
・null
・undefined
・length=0
だと思ってたが
全部別物だ
booleanに変換するとfalseになるのは ・null ・undefined ・0 ・"" ・NaN だと思ってた
さて
昨夜からやってて5時までかかっても出来んかったorzので質問させて( ・∀・)ノ Javaは今までまったくと言っていいほど勉強してないのでお手柔らかに頼む やりたいこと 通常の文字リンクで画像ぴったりサイズのサブウィンドウを開く 画像はHTMLファイルに貼って、そのHTMLファイルを開きたい。 方針 ヘッダに宣言を記述、オプションでサイズ指定 <head>内に <script language="JavaScript"> <!-- w=500; h=712; function subWin01(){subWindow=window.open("仮.htm","OpenWindow", "width="+w+",height="+h+",scrollbars=no,menuber=no,status=no,directories=no,toolbar=no");} //--> </script> <body>で<a href="javascript:subWin01()">文字</a> →クリックするとステータスバーに "!ページでエラーが発生しました" 別ウィンドウも開かない。俺ショボン(´・ω・`) onclickなんて命令もあるんだな…それだと通常の文字リンクとして扱ってもらえない、、、? いろんなTipsとか漁ってみたけどやっぱりにちゃんが頼りだ、よろしくお願いします
718 :
717 :2008/07/27(日) 12:12:49 ID:???
orz 寝不足で環境書き忘れスマソ WinXP IE7 メモ帳でポチポチ 単純に別ウィンドウ開いて(target=_blank)リサイズっていう手法は IE7だと別"タブ"になるから無理ぽ、真剣に考えた俺アホヽ(*´∀`)ノ
"仮.htm"に存在するファイル名もしくはWebアドレスを指定すれ。 つーかエラーメッセージは?
Java≠JavaScript
お早いレスに俺涙目(´;ω;`) >"仮.htm"に存在するファイル名もしくはWebアドレスを指定すれ。 もちろんそこは抜かりなく。 エラーメッセージは…、おお、ダブルクリックしたら表示された、知らなかったorz ライン:1 文字:1 エラー:オブジェクトを指定してください。 コード:0 URL: file:///略/first.htm 意味からわからないお手上げ侍ヽ(´∀`)ノ ちなみに親ウィンドウはフレーム分けしてあって、 スクリプト置いてるファイル(list.htm)のベースターゲットがfirst.htmがあるフレーム
別のフレームで定義した関数をダイレクトに呼ぶ事は出来ないよ。 ややこしくなるんでやめたほうがいいと思うが javascript:parent.frames.frameタグのname.subWin01(); とか。
>>722 こんな俺のためになんかありがとう(´;ω;`)
フレームに組み込まれているページのリンクをクリックして別窓を開きたいんだが
それでもやっぱりフレームはやめたほうがいいかな
必要があるならやればいいよ。 そのfirst.htmに直接function subWin01を記述しない理由が今一よく分からないけど。
何度もレス貰って付き合ってもらってるのに言葉足らずな俺 申し訳無さ過ぎて死にたくなってきた・゚・(つД`)・゚・ first.htmが表示されるフレーム(name=in)と list.htmが表示されるフレーム(name=list)に分かれてて、 list.htmには文章やらイラストやらのリンクが貼ってある状態。 大半のリンクはinのフレームに表示させたいから<base target=in>指定してあって、 一部のイラストを別窓で開きたいんだ… 自分でも何言ってんのかわかんなくなってきたorz とりあえず指定サイズのサブウィンドウをjavascriptで開きたいんだよ(´・ω・`) <base target=in>は外して、別窓とか関係ないハイパーリンクに target=inって付れば成功するの?
とりあえず顔文字やめれ
>>725 じゃあ別フレームの関数ってわけじゃないのか。勘違いエスパーでスマソ。
その別窓で開きたいリンクにだけ target="_self" 指定でおkかも。
申し訳ない、一通りjavascriptのサイトで勉強して それでも原因がわからなかったんでサンプルを拾ったところ成功したorz 最初に試したのがとほほのサンプルだったのが敗因? return falseがうまくいかなかったから717の方針を目指したんだが… 俺とほほ凄い信頼してたけどもしかしてとほほだめなの? 別のスレでもテンプレから外れてた… ともあれいっぱい迷惑かけてすまんかった、聞いてくれた人ありがとう
729 :
Name_Not_Found :2008/07/28(月) 16:10:45 ID:t+kZi4X/
メインウィンドウからサブウィンドウを開き、サブウィンドウのなかでPDFを表示しないといけません。 メインウィンドウからの操作で開きたいPDFを開くにはどのようにすればよいでしょうか? 条件としてサブウィンドウは必ず単一であること、 PDFはページ指定ができること、 PDFの数だけHTMLを用意してはいけない です。 よろしくお願いします。
PDF ファイルを開くのは window.open でも普通のリンクでも どっちでもいいでしょう。 ターゲット (ウインドウ名) を指定すれば同一のウインドウに開けます。 ファイルの特定の場所を開くにはファイル中にアンカーを打っておいて hoge.pdf#koko の形式で指定します。
731 :
729 :2008/07/29(火) 00:13:53 ID:FDq94GZS
レスありがとうございます。 サブウィンドウには具体的にどのように命令を送ればいいでしょうか。 例えばメインウィンドウに3つのボタンを設けて、別々のPDFをサブウィンドウに表示するコードがうまく書けません。
<input type="button" value="a.pdf" onclick="window.open('./a.pdf')"> <input type="button" value="b.pdf" onclick="window.open('./b.pdf')"> <input type="button" value="c.pdf" onclick="window.open('./c.pdf')"> これでいいでしょ
javascriptである文字を文字エンコードする方法ってどうやるんでしょうか? 見つけられなくて・・・。 str="文字列" で、STRを、S-JIS EUC にそれぞれ変えて別々の変数に入れたいのです そして、echoで値を変ってくるようにしたいです。 お願いします。 お願いいたします。
echoはPHPじゃ?
見つけられないわけがない
スペース区切りの文字列をそれぞれスペースで区切って順番に変数に代入する関数ってありませんか? 教えていただければ幸いです
"1 2 3".split(" ")
739 :
Name_Not_Found :2008/07/31(木) 13:06:19 ID:051PuRIE
異なるフレーム間で同じ関数を共有するにはどうしたらいいでしょうか?
>>739 windowからパス通せばいいじゃん。
741 :
739 :2008/07/31(木) 14:36:20 ID:???
>>740 フレームを読み込ませる一番上のページに関数を書いておいて
フレーム内から top.関数() で呼び出せました。
ありがとうございました。
作りたいものがあって色々調べたところ、Javascriptで出来るらしい ということが分かったのですが、2000円の本を購入して読んでみても さっぱり分かりません。すいませんがよろしくお願いします。 ※やりたいこと 着せ替えシミュレート メインウインドウは服や飾りや髪の毛が並んでいて それらをクリックすることでサブウインドウにシミュレートが表示される。 命令を送ることでどんどん透過画像が重なったり入れ替わったりする感じでいいと思います。 優先順位はまだ考え中です。 ウインドウを二つに分けているのは、キャプチャするときに画像のみを取り出すためです。 要点が分かりづらいかも知れませんが、大体こんな感じです。 Javascriptで可能でしょうか
可能です
744 :
Name_Not_Found :2008/08/02(土) 06:13:13 ID:ZGU+mSbg
>>742 本スレか質問スレなら答えてくれますよ^^^
>>742 「やりたいこと」が分かってるなら、すぐ出来ると思いますけど。
日本語で書いてる通りのことを JavaScript で書き直せばいいだけじゃないですか。
組んでみて分からない部分を具体的に質問されてはいかがですか。
・丸投げ上等 !って書いてあるよ
しょうがないさ、誰もできないんですからw
さっぱり分からないのでHTMLでがんばってみることにします。 スレ汚し失礼しました。
結局どういう質問だったのか 何をお望みだったのか
すいません、大まかな骨組みを組んでいただきたかったんですが 書いてなかったです。申し訳ない。 とりあえず考え得る全てのシミュレート結果の画像を作る方向に転換するつもりです。 お盆休みを活用すれば1000位は作れると思うので。
それぞれ絶対配置したimg要素のsrcをボタンで変更すればいいじゃないか >透過画像が重なったり入れ替わったりする感じでいいと思います。 って自分で言ってるし
お盆休みを活用すれば、十分な勉強ができるのでそのスクリプトを完成させられる気がするが… まあ丸投げOKだからどっちでもいいけどさ
753 :
Name_Not_Found :2008/08/05(火) 18:13:24 ID:Bfu/Fi6O
フレームのトップhtmlを開いた時に、トップhtmlのjavascriptを動かしたいと思っているのですが、 どんなふうにすればいいでしょうか?
754 :
Name_Not_Found :2008/08/05(火) 18:43:33 ID:Bfu/Fi6O
<frameset rows="100,*" frameborder=1 framespancing=0 border=1> <frame src="" name="frame1"> <frame src="" name="frame2"> </frameset> とりあえず、frame1にjavascriptで文字を出力する等のことをしてみたいのですが、 そのようなことは可能でしょうか? 一応試しているのですが、どうもうまくいきません
756 :
Name_Not_Found :2008/08/05(火) 19:40:44 ID:Bfu/Fi6O
>>755 すみません。もう少し分かりやすくお願いします
クエリ
何でソースに何も書いてないのか
dreamweaverの機能でロールオーバーつけると・・・ スクリプトがダラーっと中に書かれるので外部化しました。 しかし、bodyタグに onload="MM_preloadImages('imgs/1.jpg','imgs/2.jpg','imgs/3.jpg')"とくっついてしまいます。 これも併せて外部化し、ソース内の記述は<body>だけとするには 上で外部化させたスクリプトにwindow.onload = MM_preloadImages(〜,〜,〜);を付け加えてやれば良いんでしょうか?
なんか、昔懐かしいスクリプトだな。
>>759 window.onload = MM_preloadImages(〜,〜,〜);だと
MM_preloadImagesの返り値がwindow.onloadにsetされるだけだから
functionで囲わないとだめだよー
window.onload = function(){
MM_preloadImages(〜,〜,〜);
};
今の通信環境考えれば、プリロード付けなくても問題ないように感じる。 ロールオーバとかで画像抜けるかもしれないけど、それも一瞬の事。 画像のプリロードより、ソースのシェープアップを優先して、今ではプリロード付けない。
764 :
759 :2008/08/07(木) 13:40:21 ID:???
>>760 すみません、ちょっと環境がなかったもので・・・
>>762 おおおお!ありがとうございます!
>>763 まぁ確かにそうなんですけどね・・・。
on・off時の画像をくっつけてbackgroundの位置指定で切り替えって手もあるし。
ただ、クライアントがその一瞬が気になるって言って来たら・・・仕方ないか・・・と。
765 :
Name_Not_Found :2008/08/07(木) 20:10:25 ID:Kcxy/AB5
ジャバスクリプトのクリックした位置に画像を表示する機能を使って、 CGIで背景画像の木の好きな場所に赤い林檎の画像と、青い林檎の画像と、みかんの画像を落とせるようにしたいんですが どういう仕組みで作ると可能か、教えて下さい 今考えているのは、CGIで画像ファイル名、x座標y座標を保存し、読み出すときに前の設定を読み込み 編集した後保存ボタンで全てを上書きしようと思っていました。 でも、特定の位置の画像のみの削除や移動が出来無い事に気付いて行き詰りました
>>765 背景画像とりんごの画像を別々にするしかないんじゃない?
767 :
Name_Not_Found :2008/08/08(金) 12:49:13 ID:ayRF50Dq
769 :
768 :2008/08/08(金) 13:46:08 ID:???
スレ違いだった。スマン
リンクタグのonClickイベントのイベントハンドラとして LinkObj.onclick = function {〜}; と出来るのに、下のようにbodyタグにイベントハンドラを設定できないのは 何故ですか? またどうのようにしたら設定できるでしょうか? document.getElementsByTagName("body").onmousemove = function {〜};
document.getElementsByTagName("body")[0]
772 :
770 :2008/08/08(金) 16:11:35 ID:???
>>771 そのようにしてFF2.0とIE6で試してみましたが、no propertiesと出て動作しませんでした。
773 :
Name_Not_Found :2008/08/08(金) 18:40:04 ID:CNs81Jul
aタグをクリックすると指定した要素のスタイルが ブロックになるというスクリプトを作っているんですが うまく動きません・・・。 sa[i].onclick = function()の下の var cka = sa[i].className;のiを数字に代えると一応動きます。 forの中にfunctionを挟むとiは使えなくなるんですかね? すいませんがアドバイスよろしくお願いします。 window.onload=function(){ var tata = document.getElementById("tabs"); var sa = tata.getElementsByTagName("a"); for (i = 0; i < sa.length; i++) { sa[i].onclick = function(){ var cka = sa[i].className; var waka = document.getElementById(cka); waka.style.display="block"; } } }
>>773 iが使えなくなるって言うか
そのforループの中のfunctionは自分が生成されたときのiじゃなくて
今現在のiをずっと参照してるんだ
でオブジェクトがクリックされる前にはforループは終わってて
iの値はsa.lengthになってるから、クリックされてfunctionが呼び出されたとき
sa[i]はundefinedになっちゃう
(function(i){}(i)で囲むとかwith({i:i}){}で囲むとかするといいよ
window.onload=function(){
var tata = document.getElementById("tabs");
var sa = tata.getElementsByTagName("a");
for (i = 0; i < sa.length; i++) {
(function(i){
sa[i].onclick = function(){
var cka = sa[i].className;
var waka = document.getElementById(cka);
waka.style.display="block";
}
})(i)
}
}
775 :
Name_Not_Found :2008/08/08(金) 20:46:23 ID:nn9gmA5x
ものすごくくだらない質問ですが質問させてください。 jsファイルを読み込み、javascriptを実行させるプログラムを作っているところなのですが、 本体のjsファイルを改良して更新して確かめようとしても、ファイルをキャッシュから読み込むばかりで、最新版を読み込んでくれません。
'?t=' + new Date().getTime()
778 :
Name_Not_Found :2008/08/09(土) 13:08:01 ID:HmGhbWbM
下記のネットサンプルで、2点質問があります。
質問1: onSubmit="return branch(this)"と記述されていますが、なぜreturnがあるのでしょうか?
returnの存在理由を教えてください。
質問2: 関数の中で"return false"が記述されていますが、それもなぜ、記述されているか分かりません。
location.hrefで場所を指定して終わりでよさそうな気がします。でも、遷移するには必要なんです。
なぜですか?
サンプルの記述場所:
http://questionbox.jp.msn.com/qa255393.html?StatusCheck=ON よろしくお願いします。
<HTML><HEAD><TITLE>アンケート</TITLE><SCRIPT language="JavaScript"><!--
var page = new Array();
page['YY'] = 'A.html'; page['YN'] = 'B.html'; page['NY'] = 'C.html'; page['NN'] = 'D.html';
function branch(f) {
var ans = '';
for (var i = 0; i < f.q1.length; i++) { if (f.q1[i].checked) ans+=f.q1[i].value; }
for (var i = 0; i < f.q2.length; i++) { if (f.q2[i].checked) ans+=f.q2[i].value; }
location.href = page[ans];
return false;
}
//--></SCRIPT>
</HEAD><BODY><FORM name="enquete" onSubmit="return branch(this)">
設問1:あなたは●●ですか?<BR>
<INPUT type="radio" name="q1" value="Y" checked>はい
<INPUT type="radio" name="q1" value="N">いいえ<BR>
設問1:あなたは▼▼ですか?<BR>
<INPUT type="radio" name="q2" value="Y" checked>はい
<INPUT type="radio" name="q2" value="N">いいえ<BR>
<INPUT type="submit" value="送信">
</FORM></BODY></HTML>
779 :
773 :2008/08/09(土) 13:23:57 ID:???
>>774 返事が遅くなりました。
修正しましたところ無事動作しました。
丁寧な回答本当にありがとうございました!!!
>>778 submitボタンは、本来GETかPOSTでデータを送信するためのもの。
それを押したということは、ture=送信継続、false=送信中断。
この場合、本来のform送信は中断して、JSでページ遷移させてるわけ。
781 :
Name_Not_Found :2008/08/09(土) 15:11:15 ID:HmGhbWbM
>>780 早速、レスありがとうございます。
私が質問2でした"return false"は
下記の操作をしていると理解しました。
> それを押したということは、ture=送信継続、false=送信中断。
>この場合、本来のform送信は中断して、JSでページ遷移させてるわけ。
さらに質問1でしたonSubmit="return branch(this)"が更にそのfalseを
formにリターンし、form送信は中断したと理解しました。
つまりは質問1と質問2の処理はセットと考えてよろしいでしょうか?
追加の1点の確認のための質問をよろしくお願いします。
782 :
Name_Not_Found :2008/08/09(土) 15:52:00 ID:omKaKNev
784 :
Name_Not_Found :2008/08/09(土) 23:30:12 ID:HmGhbWbM
>>783 レスに対する回答ありがとうございます。
なんとなく分りました。
785 :
770 :2008/08/11(月) 00:02:59 ID:???
>>777 遅くなりましたが、こんな感じです
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>sample</title>
<script type="text/javascript">
function Mmove(event){
cx = window.event.clientX;
cy = window.event.clientY;
document.getElementById("result").innerHTML = cx+","+cy;
}
document.getElementsByTagName("body")[0].onmousemove = Mmove;
</script>
</head>
<body>
<div id="result"></div>
</body>
</html>
>>785 よくあるミスだけど、それだとスクリプトが実行される時点でまだbodyが存在しない。
解決するには<script>タグをbodyの中に記述するか、onloadで実行するように変える。
787 :
Name_Not_Found :2008/08/11(月) 02:34:01 ID:7RTZ8Xxh
ユーザーのブラウザで、 javascriptがONの時とOFFの時を出し分ける時、 WEB標準的にはどうするのがベストですか? 自分の中では3パターンありまして、 1.document.write()を使用 2.innerHTMLを使用 3.<div style="display=none"></div>で囲みjavascriptでdisplayをblockに指定する いろいろ考えてたら、どれも一長一短で、なんだかどうでもよくなってきました(´・ω・`)
>>787 <script><!--
hoge
--></script><script>hage</noscript>
>>788 途中で送っちゃったorz
正しくは、
<script><!--
hoge
//--></script><noscript>hage</noscript>
>>787 数行書き出すだけなら1
createElementしたら2
3は間違い
>>790 3が間違いなのはユーザがCSS切ってたらJavaScriptに関係なく出力されるから?
>>787 自分でやる時ページ全体使わせたくない時は
は
>>789 みたいにして、<noscript>以外はdisplay:noneにしちゃう
簡単なやつなら2かな。
document.writeは書き出し中に他の事できないからあまり使わない
792 :
787 :2008/08/11(月) 23:18:04 ID:7RTZ8Xxh
787です。
お答えくださった皆様、ありがとうございます!
>>789 さん
<script></script>の中にあるhogeが見れません・・・。
>>790 さん
数行書き出す程度ならば、楽なものでいった方がやはり良いですか。
3が間違いというのは、つまり791さんのおっしゃる通りのことなのでしょうか?
>>791 さん
document.writeは使わないのですね。
となると、やはりobj.style.display="block";あたりで出し分けになるのですね。
ソースが複雑になることを避けれたのならば、
後はその時のベターな解を適当にチョイスってな感じですかね(・ω・`)
CSS切ってるというか、絶対に携帯厨が来ないサイトならそれも別に悪くはないよ CSSに依存したJSの振り分けってどうよ、という話なんだけどね 「動けばなんでもいい」って思ってる人がそういうコード書くんだろうなって思ってる
>>792 >
>>789 さん
> <script></script>の中にあるhogeが見れません・・・。
script/noscriptタグを知らない人?
手取り足取りスレらしく正確に書けやゴラァってことか
<script><!--
document.write("hoge");
//--></script><noscript>hage</noscript>
795 :
Name_Not_Found :2008/08/14(木) 15:20:15 ID:dA9kba2M
質問です。 例えば、 hoge、huga、honyo、penyo という4つの文字列があったとして、 この順番をランダムに並べるにはどうしたらいいのでしょうか。 (例えば、 honyo、huga、penyo、hoge のように) 乱数をどう活用すればできるのか・・・。よろしくお願いします。
>>795 var list = new Array("hoge", "huga", "honyo", "penyo");
var randomList = new Array();
while (list.length > 0) {
randomList[randomList.length] = list.splice(Math.floor(Math.random() * list.length), 1);
}
alert(randomList);
797 :
795 :2008/08/14(木) 16:31:33 ID:???
>>796 ああ!そうか!要素を削除すれば良かったんですね!
ありがとうございました。
798 :
Name_Not_Found :2008/08/14(木) 17:02:03 ID:eCVDAE3k
XML内にerrorタグが存在していなかった場合はerror_messageをはき出して処理を終了させたいと思っているのですが、 どのようにすればうまく行きますか? if(eXML.getElementsByTagName("error")[0] != void(0)){ alert( eXML.getElementsByTagName("error_message")[0].textContent ); exit; }
799 :
798 :2008/08/14(木) 17:09:29 ID:eCVDAE3k
微妙に間違ってた。errorタグがあったらerror_messageの内容を出力する という感じです
if(eXML.getElementsByTagName("error")) alert( eXML.getElementsByTagName("error_message")[0].firstChild.nodeValue );
801 :
798 :2008/08/14(木) 22:56:50 ID:???
>>800 うまくいきました、ありがとうございます。
802 :
798 :2008/08/14(木) 23:04:34 ID:eCVDAE3k
>>800 いや、ちょっとうまく行ってないみたいです。
XML内にerrorタグが存在しない場合にもアラート処理に入ってしまいます。
その時の eXML.getElementsByTagName("error") の中身は?
確実にNodeList
うわ、nullが返ると思ってた じゃあlengthだね
806 :
787 :2008/08/16(土) 21:23:32 ID:v5svEx4K
>>794 さん
すいません。
返事遅れました。
<script>タグでかこめば、document.writeを書かなくてもHTMLを埋め込める手段があるんだー、
と思ってました。
ご丁寧にありがとうございました _( . _ . )_
予約語ってブラウザによって違うことあります?
809 :
Name_Not_Found :2008/08/19(火) 20:15:33 ID:R5AzVFlO
jQueryのaccordion.jsについて質問です。 設置は出来たのですが、コンテンツのページ移動の際に 見出しタイトルが一瞬スライドして閉じてしまいます。 これを開けっぱにしたいんですが、どうすればいいんでしょうか。 <script type="text/javascript"> jQuery().ready(function(){ jQuery('ul.navi').accordion({ header: 'h4.title', selectedClass: 'open' }).activate(0); }); </script> <ul class="navi"> <li> <h4 class="title open">見出しタイトル</h4> <ul> <li><a href="#">コンテンツ1</a></li> <li><a href="#">コンテンツ2</a></li> <li><a href="#">コンテンツ3</a></li> </ul> </li> </ul> ソースは上記のような感じです。 どなたかお分かりの方がいましたら、よろしくお願いします。
810 :
809 :2008/08/20(水) 22:03:56 ID:???
自己解決しました。 上記の例で言うと active: '.open' が抜けてました。 てか公式サイトのDEMOにあった… スレ汚してすまんかった。
811 :
Name_Not_Found :2008/08/20(水) 23:35:17 ID:sNV8J7MS
JavaScriptの文字列って最大でどのくらいの長さを扱えますか? AjaxのhttpObject.responseTextに大量の文字列を送らせようとしているのですが あまりに長いとエラー出ますか?
あまりにも長いとブラクラだろ
Strutsを使用して テキストフォームの値をネストしたプロパティに格納しています。 <html:text name="Form名" property="PersonalInfo.name"></html:text> ネストしたプロパティの値をJSPに記述したJavaScriptでチェックするため JavaScript内で document.Form名.PersonalInfo.name.val と記述したのですが、値がうまく取得できていないようです。 誰かご教授いただけませんでしょうか? Form直下の値はうまく取得できているのですが…
>>813 Strutsがどうとか書くと回答者が減るから、出力されたHTMLだけ出して質問してみ。
815 :
813 :2008/08/22(金) 00:44:33 ID:???
>>814 さん
ありがとうございます。
今手元に環境がないので、
また明日ブラウザに出力されたソース出していただきます
m(_ _)m
どなたかお解かりになられる方、ご助力下さい。 /root/admin/ に格納されているsam.htmlにて、 /root/admin/js に格納されているscookie.jsを読み込み、 html内のボタンでonClickを使い、jsの処理でcookieに値を格納しています。 そこまでは問題なく出来るのですが、ここで格納した値を /root/disp/pre/ に格納されているpreview.htmlにて、 /root/admin/js に格納されているpreview.jsを読み込み、 js内でcookieの値を参照し、出力したいのですが、上手くいきません。 sam.htmlの段階では、onClick実行後にアラートを出すと値が格納されて いますが、preview.htmlに移動した時点でcookieの値がカラになってしまいます。 admin.jsには、onClickで飛んできた値をcookieに格納し、preview.htmlを開く所 までが記述されています。 preview.jsには、cookieの値を判別し、結果としてhtmlの記述を出力します。 preview.htmlは、そのhtmlを表示する為に使っています。 とほほにて、 「ブラウザが終了するまで有効で、設定したページと同じフォルダにある (もしくは下位層にある)ページに送信されます。」 とあったのですが、何とか値を受け渡す方法は無いでしょうか?
817 :
813 :2008/08/22(金) 12:15:15 ID:???
>>814 様
すいません
ブラウザに出力されたソースを貼らしていただきます。
汚いソースなので、少し見やすいように編集しています。
●JavaScript部
function a(){
var flg = checkNull(document.InputForm.personalInfo.name);
flgを使って処理を制御したいのですが、
trueもfalseも通りません…
InputFormの直下のプロパティは参照できているのですが(>_<)
}
●HTML部
フォームの定義
<form name="InputForm" method="post" action="アクション名">
......
入力フォーム
<input type="text" name="personalInfo.name" ......>
......
決定ボタン
<input type="buttun" name="check" onclick="a()">
</form>
必要のなさそうなところは勝手に省いたのですが、
問題があればご指摘頂けますでしょうか?
>>817 それって
PersonalInfo.name→PersonalInfo_nameとかに変更してやってみたらどうなのよ?
Struts絡みで出来ないかもだけど、とりあえずはそういう問題なんじゃないかと。
もしそういう問題なら document.InputForm["personalInfo.name"] にするとか document.InputForm[n] ※n番目はソースに合わせて にするとかで解決かな?
820 :
813 :2008/08/22(金) 20:58:37 ID:???
>>818 様
フォームのプロパティを画面側に合わせて変えてしまうと、
システムの設計を1からやり直さないといけなくなるので…
>>819 様
うまく画面側で値がとれましたとれました!!
ありがとうございます。
m(_ _)m
>>816 ソースを見ないと何ともアレだけど、
sam.htmlに
document.cookie="asdf=1234";
だけ、
previe.htmlに
alert(document.cookie);
だけ書いて、ちゃんと動作する?
ドメイン変わったりしてない?
822 :
Name_Not_Found :2008/08/25(月) 15:03:53 ID:TPXXbnOB
あ……cookieを一旦削除したら問題なく動くようになりました。 cookieをもうちょっと簡略化できないものでしょうか……
824 :
Name_Not_Found :2008/08/25(月) 19:53:27 ID:6YgxP28A
prototypeの質問です。 下記のようなプログラムを実行したいんですが alertの中身がundefinedになってしまいます・・ アドバイスよろしくお願いします。 <script type="text/javascript" src="js/prototype-1.6.0.2.js"></script> <script type="text/javascript"> Event.observe(window,"load",al); function al(){ var od = $("eve"); var od2 = $("gf"); od.observe("click",ci); od2.observe("click",ci); function ci(e){ alert(e.tagName); e.stop(); } } </script> </head> <body> <div id="eve">こんにちは <p id="gf">こんばんは</p> </div> </body>
eはイベントオブジェクトだよ
>>824 最近prototype.jsに触れてないから良くわからないけど、
欲しいのは
e.element().tagName
か?
827 :
824 :2008/08/25(月) 20:32:07 ID:???
>>825 >>826 返答ありがとうございます!
無事に動作しました。
イベントオブジェクトというのはイベントが発生した要素ではないんですね。
勉強不足でした・・・
本当にありがとうございます。
828 :
821 :2008/08/26(火) 07:45:14 ID:???
>>821-823 って、
女『車のエンジンがかからないの…』
俺『バッテリーかな?ライトは点く?』
のやり取りに似てるなw
そのリンク先がどんなスクリプト書いているのか知らんけど、
俺だったら開閉状態を100110011…って文字列化して、16進に
変えてCookieに保存します。
夜まで待てれば詳細書くけど、他の親切なエロい人に聞いた方が
早いかもね。
恐縮ながらお答えいただけると助かります。 + 1の1 ↑の「+」を押すと - 1の1 + 1の2 + 1の3 + 1の4 といった具合にatwikiのような詳細な選択ができるようにしたいのですが、名称がわからないので ググりようがありません。 どなたか名称をご教授いただけませんでしょうか?宜しくお願い致します。
アコーディオンとか呼ばれてるかね?
いや、この場合は "ツリー" だな。
833 :
829 :2008/08/26(火) 18:09:47 ID:???
>>830-831 ありがとうございます!見つかりました^^
>>832 toggleなんてものがあったんですね!
本当にありがとうございます!!
834 :
Name_Not_Found :2008/08/27(水) 11:09:45 ID:xMPgeDTs
jqueryについて質問したいのですが、下記の様な関数を使い、successの部分のコールバック関数で作った配列aryをreturnしたいんですが、どこの位置にreturn aryを入れたら、hogeをコールしてktkrに配列aryを入れることが出来るのでしょう? function hoge(){ $.ajax({ dataType: 'jsonp', cache: true, url: 'hogehoge.json', success: function(r){ var ary = []; $(r.res.item).each(function(i,elm){ ary[i] = elm; }); } }); } var ary = hoge();
835 :
834 :2008/08/27(水) 11:11:08 ID:xMPgeDTs
間違い。 var ktkr = hoge(); です。
>>834 非同期で通信してるから戻り値では受け取れなくね?
同期処理にするか、successの中で処理しないといけないと思うけど。
837 :
834 :2008/08/27(水) 13:56:05 ID:xMPgeDTs
>>836 あー、やっぱり無理なんですか。
jsonで取ってきたものを元にさらにゴニョゴニョするんで、そういう形で書けるとソースがすっきり書けるんだけどなー、と思った部分があったもんで。
>>837 successの関数自体を別に書いたら良いんじゃなくて?
839 :
834 :2008/08/27(水) 15:27:07 ID:xMPgeDTs
>>839 だめってどういうこと?
var ktkr = hoge();
コレ自体は無理だよ?
functionを別出ししてあげることで$.ajaxが膨らむことはないよってことね
>>836 の言うように同期にしないと意味無いけどaryをhoge()で受け取るにはこうする
function hoge() {
var ary = [];
$.ajax({...});
return ary;
}
<div id="popup">popup</div> <div onClick="showPopup('popup')">show popup</div> function showPopup(id) { var e = document.getElementById(id); e.style.top = ・・・; e.style.left = ・・・; e.style.display = "block"; //e.onClick = hidePopup; } で、クリックでマウスポインタの位置にポップアップを出すことは できるようになったのですが、ポップアップを消すことができません。 ポップアップをクリックしたときとポップアップからマウスポインタが 外れたときに消したいのですがどうしたらいいですか?
どうしたらいいってそのコメントアウトしてある //e.onClick = hidePopup; みたいな事でいいんじゃないの。 onClickじゃなくてonclickな。
>>843 ありがとうございます
ついでに
<div id="popup">
<div>hoge</div>
<div>piyo</div>
</div>
↑のようにpopup要素があると、hogeの上にマウスポインタが行くと
mouseoutイベントが発生してポップアップが消えてしまうようですが
popup要素上からマウスポインタが外れたときだけ消すようにするには
どうしたらいいですか?
845 :
Name_Not_Found :2008/09/01(月) 21:38:55 ID:0J3y4Baf
質問です。 ボックスの幅・高さを取得して表示するにはどうすればいいのでしょうか。 <script type="text/javascript"> <!-- var x=document.getElementById('bokkusu').style.width; document.write(x); //--> </script> と書いてみたのですが、表示されません。xの型を調べると文字列だから表示できるはずだ!と思うのですが…。 当方IE7です。よろしくお願いします。
846 :
845 :2008/09/01(月) 22:37:34 ID:???
すまん。質問スレのFAQに書いてあった。
>>844 ポインタの移動した先がpopupの親であるか子であるかを調べるしか無いと思う。
IEならonmouseoutの中で
if( popup.contains(event.toElement) ) return; //popup内のノードなら何もしない
とか
849 :
Name_Not_Found :2008/09/02(火) 10:59:00 ID:zAh8slJA
凄い基本的な質問ですみません。 マウスオーバーが画像を切り替える方法を調べたら結構 複雑な記述が多かったのですが、下記の方法を見つけました。 一番簡単な方法で初心者の私には丁度ですが、単純な記述である事から ちょっと不安です。 私のPCでは不具合は有りませんが、何かの環境で動かなくなったりしますでしょうか? function chgimg(img) { document.abc.src=img; } <a href="./damy.html"> <img src="./001.jpg" border="0" name="abc" onmouseover="chgimg('./002.jpg');" onmouseout="chgimg('./001.jpg');"> </a>
850 :
849 :2008/09/02(火) 11:28:24 ID:zAh8slJA
先程の849です。先程の書き方と同じ効果が下記でも出来ますが、 先の記述のほうが簡単なので出来ればそちらにしたいのですが、こちらに比べて 特に問題とかはありませんでしょうか? 最近JavaScriptを始めた初心者で基本的な事ですみません・・・。 宜しくお願い致します。 function chgimg(text) { document.all('text1').style.visibility='hidden'; document.all('text2').style.visibility='hidden'; document.all(text).style.visibility='visible'; } <div id="text1" style="position:absolute; left:100px; top:100px; z-index:0;"> <a href="./damy.html"> <img src="./001.jpg" border="0" onmouseover="chgimg('text2')" onmouseout="chgimg('text1')"> </a> </div> <div id="text2" style="position:absolute; left:100px; top:100px; z-index:0; visibility="hidden""> <a href="./damy.html"> <img src="./002.jpg" border="0" onmouseover="chgimg('text2')" onmouseout="chgimg('text1')"> </a> </div>
背景画像を切り替えればCSSだけで出来る
852 :
849 :2008/09/02(火) 14:26:15 ID:zAh8slJA
851さん、すみませんがCSSだけで切り替える記述を教えて頂けないでしょうか。 宜しくお願い致します。
貼ってあるGoogle AdSenseが何回クリックされたかを、サイト上に表示したいんですけど可能そうでしょうか?
855 :
Name_Not_Found :2008/09/02(火) 18:28:05 ID:58iPYuMg
親に表示されてるインナーフレームの情報を、親に設置してるボタンから別窓表示するのって、どうやったらいいんですか? 別窓開くスクリプト function subWin(){ window.open("hoge.html","_blank"); } を弄れば、ってのは解ったんだけど、 function subWin4(){ window.open("hoge.html'iframe名'","_blank"); } ってしても上手くいかんし……。 多分、iframeに表示されてるURLを読み込んで、って形にしたらよいんだろうけど、記述の仕方とか調べてもよく解らなかった。 どなたか教えてください。
>>854 貼ってあるGoogle AdSenseが何回クリックされたかをJavaScriptが知る手段があれば。
>>854 サーバ側でカウントする必要があるね。その場限りのカウントじゃないとすると。
ブログランキングみたいなのが参考になるかな。OUTをカウントしてるやつね。
>>855 <iframe src="path/to/html" id="asdf">
としておいて
window.open(document.getElementById("asdf").src,"適当な名前","_blank");
iframeに読まれているページのドメインが違ったら駄目な希ガス。
859 :
855 :2008/09/08(月) 19:00:26 ID:???
>>858 ありがとうございます!今試してみたら出来ました、嬉しい!
質問した後、思ってるのに近いスクリプト
//window.alert(frameHogename.document.getElementById("nakanohito").value);
window.alert(document.getElementById("frameHogeid").contentWindow.document.getElementById("nakanohito").value);
<input type="button" value="iframeの中のオブジェクトにアクセス" onclick="nuko();">
<iframe id="frameHogeid" name="frameHogename" src="hoge.html">
は見つけて、alertをopenとか弄ってたんだけど中々上手く行かなくて。
困ってたんで本当に助かりました。
教えて貰ったのと比べたら、どうしたらよかったかが今なら解ります。
ところで
window.open(document.getElementById("asdf").src,"適当な名前","_blank");
の"適当な名前"って、どこに反映されるんでしょう?
有ったら、メニューバーとかが表示されない
無かったら、メニューバーとかが表示される
って違いがあるのは解りました。
それで、スタイルシートの役目かと思って
menubar=no等を入れてみたらエラーになりました。
気に成ったので、よければ教えて下さい。
860 :
855 :2008/09/08(月) 19:43:33 ID:???
すみません。 上記859の通り、一応解決はしたのですが、コレって <iframe src="path/to/html" id="asdf"> に初めに表示されてるページpath/to/htmlが、別窓として開くだけですよね? それ以外の、親ページから新しくインラインフレームに表示されたページを同じ様に別窓として出すことは出来ないんでしょうか? 例えば、そのインラインフレームにpath/to/html以外のページa.htmlが表示された時、そのa.htmlを同じ様に別窓で、という事です。
まじめまして、よろしくお願いします onmouseを使ってテーブル内部の画像をロールオーバーし、さらにその下に説明分をテキスト表示する スクリプトにチャレンジしているのですがどうしても上手くいきません… <!-- function mover(){ document.open(); document.write("<img src='PNG/USA/usaXX.png'>","<br>"); document.write("赤い文字を表示します。<BR><BR>".fontcolor("red")); document.close(); } //--> だとページがクリアされてから表示されてしまうので、改善方法もしくは正しい記述法があれば教えて いただけるとありがたいです 改めてよろしくお願いします
862 :
Name_Not_Found :2008/09/09(火) 14:04:48 ID:bjDagrlG
h3をクリックすると親要素のdivがドラッグ出来るプログラムを prototypeで作ってるんですがイベントオブジェクトがdocumentではなく クリックした要素になってしまいカーソルが要素から離れた場合ドラッグが停止してしまいます・・・ イベントオブジェクトをdocumentに変更する手段はありますかね? すいませんがアドバイスよろしくお願いします。 ちなみにprototypeのバージョンは1.6.0.2です。 Event.observe(document,"mousedown",down); Event.observe(document,"mouseup",up); function down(ev){ var ele02 = ev.element(); point = ev.pointer(); co = ele02.cumulativeOffset(); left_s = point.x-co.left; top_s =point.y-co.top; Event.observe(document,"mousemove",move);} function move(ev){ var move = ev.pointer(); var ele03 = ev.element(); var left_m = ev.pointerX()-left_s; var top_m = ev.pointerY()-top_s; var pa = ele03.parentNode; pa.setStyle({top:top_m+"px",left:left_m+"px"});} function up(){ Event.stopObserving(document,"mousemove",move);} </head> <body> <div class="con"> <h3>タブ</h3> <p>テキストテキストテキストテキスト</p> </div>
文字列の先頭にある改行を全て取っ払うにはどうすればいいですか? str=str.replace("(正規表現)",""); まで調べましたが、正規表現がうまくいきません。
864 :
860 :2008/09/11(木) 01:39:51 ID:???
860の件一応解決しましたのでご報告。
>>863 replace(/^[\r\n]+/, "")
こうですか?><
>>865 まさにそれです!
ダブルクォーテーションが邪魔だったのですね。ありがとうございます!
変数の値の変数に代入する方法がわかりません name="hoge"; とすれば当然nameにhogeが入りますが nameの値の変数にhogeを代入したいと考えています 教えていただけるとありがたいです
name = "hoge"; window[name] = "kimoiyo"; alert(hoge);
ありがとうございます。解決しました nameが構造体の場合は無理でしょうか?
eval でも使っとけ。 でも、他人には見せるなよ。自分だけでこっそり使うんだ。
すみません質問の内容不足でした nameの値が構造体の場合 // name="hoge.hogehoge" // 無理でしょうか?ということです
どうでもいいが、おまえの日本語読んでるとイライラしてくる。
>>868 var hoge={};
var name="hoge.hogehoge";
name=name.split(".");
window[name[0]][name[1]]="kimoiyo";
alert(hoge.hogehoge);
べつにやり方なんていくらでもあるだろうが理解できるレベルで書くとこんなかな。
それなら理解できます ありがとうございました
Webサイト制作初心者用質問スレで誘導されてきました 質問させていただきます オンマウスで画像の上にカーソルが来た際に、画像のロールオーバーとともに 下に説明文が表示されるように記述をしたのですが、どういうわけか画像から 大幅に外れた左右の空白部分で画像のロールオーバーが発生します 画像をテーブルに押し込んで強引に左右のロールオーバーを抑制する以外に 方法は無いのでしょうか? ご教授のほどよろしくお願いします。 <以下画像部分ソース> <a onmouseover="MM_swapImage('Image1','','PNG/USA/usaXX.png',1)" onmouseout="MM_swapImgRestore();document.all.div1.style.display='none'" href="javascript:;"> <p align="center"><img onmouseover="document.all.div1.style.display='block'" height="95" width="64" alt="画像の解説文" src="PNG/USA/usaXXa.png" border="0" name="Image1"></p> </a> <div id="div1" align="center"><font color="#ff0000">[表示・非表示]</font></div> <ソース終了>
876 :
875 :2008/09/13(土) 13:01:52 ID:???
<続き・スクリプト部分> <script language="JavaScript"> <!-- function MM_preloadImages() { //v3.0 var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array(); var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++) if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}} } function MM_swapImgRestore() { //v3.0 var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc; } function MM_findObj(n, d) { //v4.0 var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) { d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);} if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n]; for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); if(!x && document.getElementById) x=document.getElementById(n); return x; } function MM_swapImage() { //v3.0 var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3) if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];} } //--> </script> 改めてよろしくお願いします
<p>を<a>で囲っちゃってるからじゃない? <p><a><img></a></p> じゃだめなの?
>>877 入れ替えてみたら見事に直りました!
こんな単純なことに気づかないなんて…我ながら情け無いorz
ありがとうございました!!
カウンターを表示させようとしています。 <div class="counter"> <script type="text/javascript" src="macgo/mag.js"></script> <script type="text/javascript"><!-- var mag = '?key=1' + macgo(); document.write('<img src="macgo\/macgo.cgi' + mag + '" alt="counter">'); // --></script> <noscript> <p><img src="macgo/macgo.cgi?noscript&key=1" alt="counter"></p> </noscript> </div> 上記の通り呼び出せばカウンターが表示される、とのことなのですが、 'referrer'はNullまたはオブジェクトではありません というエラーが出るだけで、イメージのパスミスの×印さえも出なくて困っています。 CGIはエラー無くちゃんと動います。 初め別階層に置いてたので絶対パスで呼んだのですがダメでした。 それが原因かと思い、上記が初めから提示されてたものなので、上記の通り直下に置き直したりしたのですが、それでもダメでした。 どなたか、何処がいけないのか教えていただけないでしょうか?
下のようなアマゾンのページ(ソース)から著者を抜き出したいんですが、 どうすればいいんでしょうかタイトルはidがありますし、 var title = document.getElementById("btAsinTitle")とかで、 出版社の方もなんとかなったんですが、著者がどうやって ぬいたらいいのかスタックしてます。よろしくお願いします。 ----------- ... ... <div class="buying"> <h1 class="parsesans"> <span id="btAsinTitle">英語は逆から学べ!実践トレーニング編 ~聴くだけで英語脳ができるバイノーラルCD付き!~ (単行本(ソフトカバー))</span> <!--aoeui--> </h1> <a href="/exec/obidos/search-handle-url?%5Fencoding=UTF8&search-type=ss&index=books-jp&field-author=%E8%8B%AB%E7%B1%B3%E5%9C%B0%20%E8%8B%B1%E4%BA%BA">苫米地 英人</a> (著) ...
882 :
Name_Not_Found :2008/09/15(月) 03:10:09 ID:4IGRcd3p
ちょっと質問先がわからないのでここで伺います。 csvで作成したデータを辞書機能として用いて、 調べたい文字にオンマウスするとポップアップでcsvの特定の行のデータが表示されるというのを 作りたいと思うのですが、サンプルをいじっているうちに行き詰まりました。 下のスクリプトでは、ポップアップで表示させようとすると後ろの"jisyo"しか 出てきませんでした。 また、JavaScriptを使って、VALUEでcsvデータの行指定をさせようと思ったら 最初の行しか表示されませんでした。 <script language="javascript"> <!-- function ChangeSpan() { //ここでVALUE値の受け渡しをしたい… objDataBind.FilterValue(); objDataBind.FilterColumn="yogo"; objDataBind.FilterCriterion="="; } //--> </SCRIPT>
883 :
Name_Not_Found :2008/09/15(月) 03:13:25 ID:4IGRcd3p
>>882 続き
<STYLE type="text/css">
<!--
.toolTip{ position: relative; }
.toolTip span{
display: block;border: solid 2px #999;background-color: #eee;
color: #666;text-decoration: none;font-size:12px;
position: absolute;visibility: hidden;width: 800px;
}
a.toolTip:hover,a.toolTip:hover span{ visibility: visible; z-index: 100; }
//-->
</HEAD>
<A href="#" class="toolTip" VALUE="柔潤">もっと読む<SPAN DATASRC="#objDataBind" datafld="yomi"></SPAN><SPAN DATASRC="#objDataBind" datafld="jisyo"></SPAN></A>
<OBJECT classid="clsid:333c7bc4-460f-11d0-bc04-0080c7055a83" id="objDataBind" height="0" width="0">
<PARAM NAME="DataURL" VALUE="test1.csv">
<PARAM NAME="UseHeader" VALUE="true">
<PARAM NAME="FieldDelim" VALUE=",">
<PARAM NAME="CharSet" VALUE="iso-2022-jp">
</OBJECT>
ブラウザによってCSSを切り替えたいのですがどのように書けばいいのでしょうか。 ie6とその他で分けたいのですが・・・
それならCSSハックでいいんじゃ。
886 :
879 :2008/09/16(火) 01:43:04 ID:???
>880 レスありがとうございます。 提示頂いたページの事も試してから質問してます。 独立サーバって、「アカウントが違う別サーバ」と思って、以下の様な事をしました(違ったら指摘下さい。) インラインフレームは使ってるけど、親ページからの呼び出しだし、同じサーバ(もといローカル)なので最初のは関係ないと思っています。 次のCGI独立サーバの方の方法も試してみましたが、それは逆にCGIがエラーを起こしてしまいました。 真ん中の <script type="text/javascript"><!-- var mag = '?key=1' + macgo(); document.write('<img src="macgo\/macgo.cgi' + mag + '" alt="counter">'); // --></script> が無ければエラーは出ないんですが、でもそれがないとイメージカウンターは表示できないんです。 1週間くらい、パスを絶対パスにしてみたりと思いつく限り試してダメで、javascriptだけの問題の様なので、こちらで質問してみました。
>>884 <html>
<head>
<title>Brawser</title>
</head>
<body>
<script type="text/javascript">
<!--
var brawser="その他";
if((navigator.userAgent).indexOf("MSIE 6.0") > -1) brawser = "Internet Explorer 6.0";
alert("あなたのブラウザは " + brawser + " です。");
// -->
</script>
</body>
</html>
888 :
884 :2008/09/16(火) 16:26:33 ID:???
>>887 それでは「あなたのブラウザは〜です」の表示がされるだけの気がするのですが・・・
ie6ならie6.css
その他ならstylesheet.css
と振り分けたいのですが・・・
889 :
887 :2008/09/16(火) 21:17:25 ID:???
いや、ブラウザの振り分け方が分かれば後はググれって事だったんだが まぁ適当に考えたらこんな感じだった <html> <head> <title>change CSS</title> <link rel="stylesheet" type="text/css" href="stylesheet.css"><!-- Default CSS --> <script type="text/javascript"> function changeCSS() { if((navigator.userAgent).indexOf("MSIE 6.0") > -1) { var objLink = document.getElementsByTagName("link"); objLink[0].href = "ie6.css"; // URL of CSS } } </script> </head> <body onLoad="changeCSS()"> スタイルシート切り替え </body> </html> linkタグのtypeが"text/css"じゃないときとか linkタグが複数ある場合とかは考えてないから その辺の処理は自分で考えるんだ
意味が分からん <!--[if IE 6]> <link rel="stylesheet" type="text/css" href="ie6.css"> <![endif]-->
891 :
887 :2008/09/16(火) 23:12:46 ID:???
ありがとうございます
892 :
Name_Not_Found :2008/09/17(水) 02:35:59 ID:ZtFrsauF
宜しくお願いします。 <div id="body"> <p>あいうえお<br /> かきくけこ</p> <p>さしすせそ<br /> たちつてと</p> <p class="x">なにぬねの</p> <div id="y">はひふへほ</div> <div class="bottom">まみむめも</div> </div> function Insert(str) { document.getElementById('body').innerHTML = document.getElementById('body').innerHTML.replace(/(<p class="x">|<div id="y">|<div class="bottom">)/, function (whole, s1) { return ('<p>' + str + '</p>\n' + s1); }); return; } Insertで<p class="x">行、<div id="y">行の有無にかかわらず「たちつてと」行の下に<p>str</p>を挿入したいのですが、FireFox3だと狙い通りにいくのに、IE7だと機能してくれません。 どこをどう直せばいいんでしょうか?
IEで alert( document.getElementById('body').innerHTML ); してみればわかるとおもうお
hint:"x"
895 :
Name_Not_Found :2008/09/17(水) 20:12:59 ID:nAcX7zNg
jQueryのloadを使用し、テキストファイルをHTMLページ上に表示させようと考えています。 現在、以下のソースにて問題なく表示はできているのですが、 テキストファイルに記述されている通りに改行をさせたいです。 <html> 〜中略〜 <script type="text/javascript"><!-- $("#news").ready(function(){ $("#news").load("news.txt"); }); --></script> </head> <body> <div id="news"> ここにニュースを表示 </div> </body> </html> 調べてみたところ、文字列置換のreplaceを用いれば良さそうだとわかったのですが…。 どの部分にreplaceを入れれば良いのかがわかりません。 どのように記述すれば良いのでしょうか?
896 :
Name_Not_Found :2008/09/17(水) 20:25:01 ID:ZtFrsauF
>>893 レスありがとう。
replaceを↓に変えたら動きました。
.replace(/(<p class="?x"?>|<div id="?y"?>|<div class="?bottom"?>)/i, function (whole, s1) {
897 :
Name_Not_Found :2008/09/19(金) 23:01:46 ID:4iTNf8pC
すいません教えてください ieとff対応でdivタグ内の文字の表示非表示をクリックして切り替えるスクリプトを書きたいのですが 表示か非表示かの条件判断の書き方がわかりません ヒントとなるようなキーワードでもかまいませんのでどなたかご教授おねがいします
innerText
900 :
Name_Not_Found :2008/09/21(日) 14:26:59 ID:qx/w6fk1
901 :
Name_Not_Found :2008/09/21(日) 15:39:34 ID:D2nw7Cni
「勘違いです、勘違いです、確かに私は在日朝鮮人で家族全員創価学会員ですけど パトロール隊に入ったんだからもう創価学会は関係ありません」が合い言葉のw 創価学会員が通り魔から子供を守るパトロールだといって集団でうろついてるんですが 創価学会員がいつカマ持った通り魔に変身しないかとかえって怖いんですけどwww なんでも通行人をつかまえての誹謗中傷行為や人権侵害行為も 生活安全課の創価警官の●お願い●でやってあげてるんだとか言ってますけどwwwww 熊本隆談www
>>900 xpathでやってみた。
var f = document.evaluate('//input[@name="KEY2"]', document, null, 7, null);
f.snapshotItem(0).focus()
単純な質問ですみません イメージスワップ後の画像にスワップ前とは別のaltを設定できますか? (例:クリック前=クリックしてください クリック後=クリックありがとうございます) また、可能な場合どこに記述を行うべきなのでしょうか? どうかよろしくお願いします
905 :
904 :2008/09/23(火) 18:58:13 ID:???
※以下サンプルソースです※ <html> <head> <title>変化するスイッチ</title> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <script language="JavaScript"> <!-- function preloadImage(imgName) { if (document.images) (new Image()).src = imgName; } preloadImage("PNG/SWITCH/SWITCH02.png"); flag = 0; function swImg() { flag ^= 1; if (flag) iName = "PNG/SWITCH/SWITCH02.png"; else iName = "PNG/SWITCH/SWITCH01.png"; document.images["switch"].src = iName; } </script> </head> <body bgcolor="#FFFFFF" text="#000000"> <center> <font size=+3 color=#ff0000>変化する画像</font><p> <A HREF="#" onClick="swImg()"><IMG SRC="PNG/SWITCH/SWITCH01.png" NAME="switch" BORDER="0" width="64" height="80" alt="クリックしてください"></A> </center> </body> </html>
function swImg() { flag ^= 1; if (flag){ iName = "PNG/SWITCH/SWITCH02.png"; document.images["switch"].src = iName; document.getElementById("switch").alt = "クリックありがとうございます"; }else{ iName = "PNG/SWITCH/SWITCH01.png"; document.images["switch"].src = iName; document.getElementById("switch").alt = "クリックしてください"; } } これでどう?
907 :
906 :2008/09/23(火) 19:24:30 ID:???
あ、もちろんdocument.images["switch"].src = iName;はifの外でも構わないよ
909 :
908 :2008/09/23(火) 20:48:56 ID:???
>>906 >>907 肝心のお礼でミス投稿orz
気を取り直して…
見事に代替テキストが変化しました
ありがとうございます!
詰まりました。失礼します。 変数が500個以上になるので、配列というものを使えるかどうか分からなくて… a1=20 a2=25 a3=27 〜〜 a500=1200000 例えばこう変数を作っていて a310の時、a1〜a310までの総合計を計算させるには どう書けばいいと思いますか? (選択した変数までの総合計)
a1=20; a2=25; a3=27; function sum(from,to){ var n=0; for(var i=from;i<=to;i++)n+=this["a"+i]; return n; } alert(sum(1,3));
912 :
910 :2008/09/23(火) 22:17:07 ID:???
早速ありがとうございます。 a1の時はa1=20、a2の時はa1+a2=45、a3の時はa1+a2+a3=72、 a4の時はa1+a2+a3+a4…としたいんですが わたくしの書いてるスクリプトの場合どうなんでしょう… <SCRIPT language="JavaScript"><!-- function abox(){ if(a1 == document.form1.abox.value){ a1=20; } if(a2 == document.form1.abox.value){ a2=25; } if(a3 == document.form1.abox.value){ a3=27; } } function sum(from,to){ var n=0; for(var i=from;i<=to;i++)n+=this["a"+i]; return n; } alert(sum(1,3)); //--> </SCRIPT></head><body> <form name="form1"> <select name="abox" size="1" tabindex="0"> <option selected value>---</option> <option value="a1">aaa</option> <option value="a2">bbb</option> <option value="a3">ccc</option></select> <input type="button" value="計算" onclick="sum()"></form></body>
たびたびすみません
>>904 でaltについて質問をした者です
無事に記述が完了し、FTPでアップロードをしたのですが、厄介な問題が発生しました
ブラウザで検証したときには普通に表示されたのにWEB上では何故か表示されません
原因を色々考えた結果アップロード先であるFC2のスクリプトとの競合が原因であるとの
推測を導き出しました
本来ならばFC2側に質問をするべきなのかもしれませんが、今後同じような現象に見舞わ
れる方が出てくる可能性もあると考え、投稿させていただきました
よろしくお願いします
914 :
913 :2008/09/24(水) 01:02:04 ID:???
※関係ない可能性もありますが、以下FC2広告スクリプト部分※
※これ以外は
>>90 に
>>905 さんの改造部を追加したスクリプトとほぼ同じです※
<script type="text/javascript"><!--
var fhp_c_pc = navigator.userAgent.toLowerCase();
var fhp_ie = ((fhp_c_pc.indexOf("msie") != -1) && (fhp_c_pc.indexOf("opera") == -1));
var fhp_cs, fhp_wt, fhp_dm;
if (fhp_ie) {
fhp_cs = document.charset;
}else{
fhp_cs = document.characterSet;
}
fhp_dm = document.location;
fhp_wt = "";
fhp_wt = '<' + 'script src="
http://web.fc2.com/footer/footer.php?cs= ' + fhp_cs + '&dm=' + fhp_dm + '"><' + '/script>';
document.write(fhp_wt);
//--></script>
</body>
</html>
>>912 abox ってfunctionがいつ呼ばれて何をしたいのかわからない。
a1-aNまで変数が宣言されていて、プルダウンで選ばれたバリューまでの集計をするなら、
これでいけるかな。
function sum(){
var to=document.form1.abox.value.slice(1,document.form1.abox.value.length-1)-0;
var n=0;
for(var 1=from;i<=to;i++)n+=this["a"+i];
return n;
}
間違えた。 function sum(){ var to=document.form1.abox.value.slice(1,document.form1.abox.value.length-1)-0; var n=0; for(var i=1;i<=to;i++)n+=this["a"+i]; return n; }
917 :
910 :2008/09/25(木) 14:55:44 ID:???
ご指導ありがとうございます。 aboxは、変数が今後2〜3種類になる予定を考えて宣言したものです。 aaa:a1=20 b1=10 bbb:a2=25 b2=12 ccc:a3=27 b3=13 こんな感じで、aとは別の合計も出すつもりでした。 頂いたスクリプトをこのように利用したら、nが全て0になってしまいますorz <SCRIPT language="JavaScript"><!-- function sum(){ var to=document.form1.abox.value.slice(1,document.form1.abox.value.length-1)-0; var n=0; for(var i=1;i<=to;i++)n+=this["a"+i]; alert(n); return n; } //--></SCRIPT></head><body> <form name="form1"> <select name="abox" size="1" tabindex="0"> <option selected value>---</option> <option value="a1">aaa</option> <option value="a2">bbb</option> <option value="a3">ccc</option></select> <input type="button" value="計算" onclick="sum()"></form></body>
ここじゃね? var to=document.form1.abox.value.slice(1,document.form1.abox.value.length-1)-0; ↓ var to=document.form1.abox.value.slice(1,document.form1.abox.value.length)-0;
919 :
910 :2008/09/25(木) 18:20:22 ID:???
NaNになります;; option valueから見直した方がいいのでしょうか…
>>919 NaNになるのは
var a1=20;
var a2=25;
var a3=27;
が書いてないからだよ。<script>とfunction sum()の間の行にでも書けば行ける。
sliceで文字分けるって最近知ったけど結構使われてるのか。
何となくいつもmatchでやっちゃうな。値は配列で持って下のような感じ。
<script type="text/javascript">
var a = [0, 20, 25, 27];
function sum(box){
var end = 0;
var value = document.form1[box].value;
var match = value.match(/^([a-z])([\d]*$)/);
if (match) {
box = match[1]; // 配列名
end = match[2]; // いくつまで足すか
}
var n = 0;
for (var i=1; i<=end; i++) {
n += window[box][i];
}
alert(n);
return n;
}
</script>
で、呼び出し方がonclick="sum('abox')"かな。
box名入れておけばbboxとかできてもいけるし。
921 :
910 :2008/09/25(木) 21:25:22 ID:???
すいません、基本的なところを忘れてました・・! ありがとうございました!!感動しました!
今見たら for (var i=1; i<=end; i++) { n += window[box][i]; } だと毎回windowにアクセスするからforの前で var array = window[box]; ってしてあげて、 array[i] で回した方が良いのか。Firefoxで3倍くらいスピードが違った。
<SCRIPT language="JaveScript"> <!-- function kotae(){ var kai =101; alert(kai); } //--> </SCRIPT> </HEAD> <body> <h1>問題</h1> 13+88= <button onclick="kotae()">答えを見る</button> </body> 本を読みながら作ったのですが上手く動きません…。 文字の抜けやエクスプローラーのJAVA実行も許可してあるのですが他に原因は何が考えられますか?
>>923 type="text/javascript"
<SCRIPT language="JavaScript">でも動くけど
>>923 は"JaveScript"だからなあw よく見てみw
926 :
923っす :2008/09/28(日) 18:24:55 ID:???
>>924 様
>>925 様
ぬわーッ!!動きました!動いたって言うか反応しました。
何度も見直したのに凡ミスがまだありましたね…。
お騒がせ致しました。そして有難う御座いました!引き続き頑張ります!
じゃべすくりぷとw
928 :
Name_Not_Found :2008/09/28(日) 22:09:53 ID:q4TPO6L5
function view(){ document.getElementById('menu1').style.visibility='visible'; } function hide(name){ document.getElementById('Menu1').style.visibility='hidden'; } <ul> <li><a href="menu.html" onmouseover="view()" onmouseout="hide()">メニュー1</a> <ul id="menu1" style="visibility:hidden"> <li><a href="">リスト1</a></li> <li><a href="">リスト2</a></li> </ul> </li> </ul> 「メニュー1」にマウスを乗せると、サブメニュー(リスト1など)を表示させる動作を求めてます。 サブメニューは表示したのですが、「メニュー1」からマウスが離れるとサブメニューが消えてしまいます。 やりたいことは 「メニュー1」からサブメニューに移動してもサブメユーが消えないようにしたい 「メニュー1」でサブメニューを表示した後、サブメニュー以外のところにマウスがいったらサブメニューを消したい 以上の2点です。どなたかご教授ご指摘お願いいたします。
<li onmouseover="view()" onmouseout="hide()"><a href="menu.html">メニュー1</a> これでどうだい?
930 :
910 :2008/09/29(月) 22:21:30 ID:???
たびたび失礼します。 当方で応用して使おうと思ったらどうしてもうまく行かないので option valueに変数を入れてしまおうかと思ったのですが これはこれで動作しません…。 どこか勘違いしていることは分かっても八方塞がりですorz よろしくお願いします。 <SCRIPT language="JavaScript"><!-- function sum(){ var to=parseInt(document.form1.abox.value); var n=0; for(var i=1;i<=to;i++)n+=this[+i]; alert(n); return n; } //--></SCRIPT></head><body> <form name="form1"> <select name="abox" size="1" tabindex="0"> <option selected value>---</option> <option value="20">aaa</option> <option value="25">bbb</option> <option value="27">ccc</option></select> <input type="button" value="計算" onclick="sum()"></form></body>
this[+i] 何これ?
CSS切り替えスクリプトのcsskks.js使ってるんですが safariやgoogle chromeでは上手く代替cssに切り替えできません。どうすればいいでしょうか。
safariやgoogle chromeに対応したやつを自分で作れば
すみません、どう改造すればいいか分からないです。
935 :
Name_Not_Found :2008/10/01(水) 23:04:13 ID:muL0j2+8
すみません。お願いです。 いろいろあってここにたどりつきました。 「ボタン押すたびに数字が変わるプログラム 」 みたいなの作ってもらえませんか? イメージとしては 000-999まで3桁の数字が スペースキー押すたびにランダムで変わる そんなプログラムをメモ帳に貼り付けて、htmlで保存して 遊びたいんだ できるものですか?
ほれ、 スペースキーじゃなくてF5キーだが、かまわんだろ? <script> document.write((Math.random()*1000).toString().slice(-3)) </script>
すぐ飽きそうな遊びだw
938 :
Name_Not_Found :2008/10/02(木) 10:08:04 ID:iGs374Ng
おまえ収容所とかでも遊び見つけて生きていけそうだな。 ある意味才能だと思うよ。
エロ画像のナンバリングだと思うんだ 出た番号の画像で1日遊ぶと考えるんだ
>>936 が明らかに間違っている件については誰も突っ込んでくれないのか。
943 :
966 :2008/10/03(金) 12:41:27 ID:3uVerI19
>>941 誰か直して下さい!
一応実行したけど、F5キーを押すと反応はあるけど
何も表示されない・・・・
headの中でも外でも動くと思うが… <html lang="ja"> <head> <title></title> </head> <body> <script> document.write((Math.random()*1000).toString().slice(-3)) </script> </body> </html> だぞ? まさかブラウザでJavascriptを切ってるというオチじゃないよな?
945 :
966 :2008/10/03(金) 13:37:58 ID:3uVerI19
>>944 あ、そうでした、スンマセン(汗)
ブラウザの詳細設定を変えたら、
数字が表示されてF5キーで変更されるようになりました、
お騒がせしました。
946 :
Name_Not_Found :2008/10/03(金) 19:47:41 ID:VHcBshOb
チェックボックスにチェック入れると連動してテキストボックスに文字が入るのって出来る? sageにチェック入れるとアドレス欄にsageって入るような奴 誰か頼む。
出来る <html> <head> <title>checkbox and text</title> <script type="text/javascript"> <!-- function change() { document.getElementById("sg").value = "sage"; } // --> </script> </head> <body> <input type="checkbox" onClick="change()" />sage <input type="text" id="sg" /> </body> </html>
恐れ入ります。。下記のコードでlabelと同じ文字がalertされるようにするにはどうすればいいですか? このままだとどれを押しても"s"になってしまいます。 <script type="text/javascript"> <!-- var labels = 'labels'.split(''); for (var i=0; i<labels.length; i++) { var input = document.createElement('input'); var label = labels[i] input.setAttribute('type', 'button'); input.setAttribute('class', 'submit'); input.setAttribute('style', 'margin-left:4px'); input.setAttribute('value', label); input.addEventListener("click", function(){alert(label)}, false); document.getElementsByTagName('html')[0].appendChild(input); } // --> </script> <html />
>>948 input.addEventListener("click", function(){alert(label)}, false);
→ input.addEventListener("click", function(){alert(this.value)}, false);
~~~~~~~~~
>>950 できました!本当にありがとうございます!
質問です。 <from id="hogeF"> <select id="hogeS"> <option>上</option> <option>中</option> <option>下</option> </select> </form> こういったソースがあった場合に 上 初期表示 上 ←選択された時の場所 中 下 通常上記のようになるとおもうんですが、 これを下記のようにすることはできますか? できるようでしたらご教示願います。 中 初期表示 上 中 ←選択された時の場所 下
<option selected>中</option> javascriptなんか必要ない
>>953 ありがとうございます。
そんな属性があったんですね。勉強不足でした。
そこはあえてJavaScriptでselectedしてやるのがスジなんじゃないだろうか
956 :
Name_Not_Found :
2008/10/06(月) 13:57:56 ID:KbQub7xm http://www.ibm.com/developerworks/jp/web/library/wa-aj-overhaul3/index.html jCarousel で、画像のセットをスライドショーにしたいです
どうやらflickerが関係してるようなのですがどこをどうすればflickerの画像を
変更できるのかがわかりません。 この辺だと思うのですが、、、
var getItemHTML = function(d) {
return '<img class="product" alt="product photo" width="' +
d.width + '" height="' +
d.height + '" src="../img/' +
d.url + '" />Photo credit: <a target="_blank" href="
http://www.flickr.com/photos/ ' +
d.creditURL + 's/">' +
d.creditLabel + '</a>, Flickr, Create Commons Attribution License'
;
どなたかご教授お願します。