アプリ版:「スタンプのみでお礼する」機能のリリースについて

JavaScriptは全くの初心者です。
以前、ここの質問にもあったのですが、

http://oshiete1.goo.ne.jp/kotaeru.php3?q=157985

この方と同じものを作りたいのですが、この方が参考URLに指定しているものも、ブリヂストン美術館
http://www.bridgestone-museum.gr.jp/
も、ネットスケープでもきちんと表示されているのに、その他HP上で公開されているJavaScriptサンプルはどうしてもネットスケープで表示されないのです。Flashは使えないので、JavaScriptできちんと表示できるサンプルをご存じの方、教えて下さい。
よろしくお願いします。

A 回答 (3件)

>動かない時はそのまま下に表示するにはどうしたらよろしいでしょうか?


1つは、
デフォルトの表示を+(閉じた状態)でなく-(開いた状態に)することですね。
こちらの方法であれば、スクリプトをオフにしている人でも表示できますしね。
CSSの display:none; を display:block;
に変えてボタンのvalue="-" にするぐらいでいいと思います。
もう一つは、
if(!document.getElementById){
location.href="noscript.html";
}
とか適用できるバージョンを調べて、
location.hrefでスクリプトを使わないページに飛ばすとかですかね。
    • good
    • 0
この回答へのお礼

早速の回答ありがとうございます。

>デフォルトの表示を+(閉じた状態)でなく-(開いた状態に)することですね。

どうも上手くいかなかったので、__;

>if(!document.getElementById){
location.href="noscript.html";
}
こちらで作成させていただくことにしました。
これは、<script></script>で囲めばよろしいんですよね。(一応これで動いたのですが)
とくに、バージョン指定とかはしなくても大丈夫なのでしょうか?

JavaScriptもきちんと勉強しなければならないとつくづく思い知らされました。
この度は本当にご親切にありがとうございました。

お礼日時:2006/01/12 00:06

>これは、<script></script>で囲めばよろしいんですよね。

(一応これで動いたのですが)
そうですね。
別に書いてもいいですが、
#1のスクリプトと一緒にfunctionの前に書いてもいいです。

>とくに、バージョン指定とかはしなくても大丈夫なのでしょうか?
そうですね。
#1スクリプトはDOM(Document Object Model)をスクリプトから扱えることが前提となっております。
document.getElementById が定義されている(使用できる)ということは、DOM対応していると考えていいと思われるので、これでいいと思います。
もしそれで問題(ブラウザ間やバージョンの差異とか)があれば、ブラウザやブラウザのバージョンをチェックすることになると思いますが。
    • good
    • 0
この回答へのお礼

何度もすみません。
これで先に進めそうです。
本当にありがとうございました。

お礼日時:2006/01/12 12:00

サンプルを作ってみましたが、こんな感じでどうでしょう?


ネットスケープが現在使えないので、未確認ですが、IE6&Firefox1.5で動作を確認しています。
----------------------------------------------------------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=SHIFT_JIS">
<title>サンプル</title>
<style>
<!--
div.inside {
padding-left:1em;
display:none;
}
-->
</style>
<script type="text/javascript">
<!--
function changeFold(f){
if(f.value == "+"){
f.value="-";
f.parentNode.childNodes.item(2).style.display="block";
} else {
f.value="+";
f.parentNode.childNodes.item(2).style.display="none";
}
}
//-->
</script>
</head>
<body>
<div><input type="button" value="+" onClick="changeFold(this)">メニュー1<div class="inside">
もろもろ<br />
<a href="index.html">トップ</a><br />
<a href="sub.html">サブ</a><br />
</div>
</div>

<div><input type="button" value="+" onClick="changeFold(this)">メニュー2<div class="inside">
また別のもろもろ<br />
<a href="index2.html">トップ2</a><br />
<a href="sub2.html">サブ2</a><br />
</div>
</div>
</body>
</html>
----------------------------------------------------------------
使用のルール
<塊:div><ボタン>ボタンの横の文章<非表示:div>
非表示になっている中身のHTML
</非表示:div>
</塊:div>
のようなパターンになっていること
<塊:div><ボタン>ボタンの横の文章<非表示:div>
の部分は、改行しないこと。(IEとFirefoxで解釈が異なるので)

この回答への補足

わざわざ書いて下さってありがとうございます。(なんとお礼を申し上げていいやら…)

当方の作業環境
MacOS 9.2.1
Internet Explorer 5.0(5.1は今未確認です)
Netscape 7.0

MacOS 9.2.2
Internet Explorer 5.0
で作業確認ができましたが、

MacOS9.2.2のNetscape 4.7で確認ができませんでした。(リンク先が出てこないのです。)
そこで、ご迷惑ついでに、動かない時はそのまま下に表示するにはどうしたらよろしいでしょうか?
どこかでその仕方を見かけたのですが、今探してもどうしても見つからなくて…。><

補足日時:2006/01/11 17:08
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!