痔になりやすい生活習慣とは?

IEでもFirefoxでも動作する点滅文字について

Internet ExplorerでもFirefoxでも動作する点滅文字を作成するため、
下記のサンプルソースを作成したのですが、
Internet Explorer7では動作するものの、Firefox3.6では動作しませんでした。

その為、Internet ExplorerでもFirefoxでも動作する点滅文字の方法をご存知の方がいらっしゃいましたら、
ご教示の程、よろしくお願いします。

なお、下記の動作を想定しています。
1. 点滅時間は設定ファイルに記述して、点滅時間を調整したいと思います
(その為、<blink>タグは使用できないかも知れません)。
2. ページ内の複数の箇所に設定したいと思います
(ただし、設定箇所が何箇所になるかは、ページが動的に生成されているため、ランダムです。
その為、id属性で動作するものは使用できないかも知れません)。
3. MARQUEEタグを使用するものについては、位置あわせがうまく出来ませんでした。


【ソース】
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dt …
<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta http-equiv="Content-Script-Type" content="text/javascript" />
<title>title</title>
<script type="text/javascript">
<!--
function blink() {
if (!document.all) { return; }
for (i = 0; i < document.all.length; i++) {
obj = document.all(i);
if (obj.className == "blink") {
if (obj.style.visibility == "visible") {
obj.style.visibility = "hidden";
} else {
obj.style.visibility = "visible";
}
}
}
setTimeout("blink()", 800);
}
// -->
</script>
</head>
<body onload="blink()">
<h1 class="blink">点滅サンプル</h1>
<p>これは普通の文書</p>
<p class="blink">これは点滅する文章</p>
</body>
</html>

以上、よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

もくししてわかるなら、てきとうなぶひんもそろっていると・・


<!DOCTYPE html>
<title></title>
<body>
<h1>
 <span class="a">点</span>
 <span class="b">滅</span>
 <span class="a">サ</span>
 <span class="b">ン</span>
 <span class="a">プ</span>
 <span class="b">ル</span>
</h1>

<script type="text/javascript">

var Blinker = function ( viewTime, hiddenTime ) {
 this.timerId = null;
 this.buf = [ ];
 this.viewTime = viewTime;
 this.hiddenTime = hiddenTime;
 this.mode = false;
 this.start();
};

Blinker.prototype.view = function ( ) {
 for( i = 0, I = this.buf.length; i < I; i++ )
  this.buf[i].style.visibility = 'visible';
};

Blinker.prototype.hide = function ( ) {
 for( i = 0, I = this.buf.length; i < I; i++ )
  this.buf[i].style.visibility = 'hidden';
};

Blinker.prototype.start = function ( ) {
 this.timerId && this.stop();
 this.loop();
};

Blinker.prototype.loop = function ( ) {
 this.mode ? this.view(): this.hide();
 this.timerId = setTimeout( (function ( that ) {
  return function ( ) { that.loop(); }; })( this ),
  this.mode ? this.viewTime: this.hiddenTime );
 this.mode = ! this.mode;
};

Blinker.prototype.stop = function ( ) {
 this.timerId && clearInterval( this.timerId );
 this.timerId = null;
};

Blinker.prototype.add = function ( n ) {
 n && this.buf.push( n );
};

Blinker.create = function ( viewTime, hiddenTime ) {
 var obj = new Blinker ( viewTime, hiddenTime || viewTime );
 var arg = 2, id, n;

 while( id = arguments[ arg++ ] ) {
  n = document.getElementById( id );
  n && obj.add( n );
 }
 return obj;
};

Blinker.createByClassName = function ( cssName, viewTime, hiddenTime ) {
 var obj = new Blinker ( viewTime, hiddenTime || viewTime );
 var allNode = document.getElementsByTagName( '*' );
 var reg = new RegExp( '(?:^|\\s)' + cssName + '(?:$|\\s)' );
 var cnt = 0, n;

 while( n = allNode[ cnt++ ] )
  if( n.className && reg.test( n.className ) )
   obj.add( n );

 return obj;
};


var str1 = Blinker.createByClassName( 'a', 400 );
var str2 = Blinker.createByClassName( 'b', 200 );
</script>
    • good
    • 0
この回答へのお礼

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

ご教示いただいたソースを試してみたところ、
意図した動作をしている事を確認しました。


【index.html】
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dt …
<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta http-equiv="Content-Script-Type" content="text/javascript" />
<title>title</title>
</head>
<body>
<h1>
<span class="a">点</span>
<span class="b">滅</span>
<span class="a">サ</span>
<span class="b">ン</span>
<span class="a">プ</span>
<span class="b">ル</span>
</h1>
<p class="a">テスト1</p>
<p class="a">テスト2</p>
<p class="a">テスト3</p>
<script type="text/javascript" src="blink.js"></script>
</body>
</html>


【blink.js(ご教示いただいたjavascriptをそのまま貼り付けました。)】
var Blinker = function ( viewTime, hiddenTime ) {



var str2 = Blinker.createByClassName( 'b', 200 );


そのたびはどうもありがとうございました。

以上、よろしくお願いします。

お礼日時:2010/05/31 23:12

こういうのは、どうかな?ばぶぅ~


ぜんかくくうはくもじは、はんかくにしてちょ!
<!DOCTYPE html>
<title></title>
<body>

<h1>
 <span id="a0">点</span>
 <span id="a1">滅</span>
 <span id="a2">サ</span>
 <span id="a3">ン</span>
 <span id="a4">プ</span>
 <span id="a5">ル</span>
</h1>
<p>これは普通の文書</p>
<p id="b0">これは点滅する文章</p>


<script type="text/javascript">
//@cc_on
var Blinker = function ( viewTime, hiddenTime ) {
 this.timerId = null;
 this.buf = [ ];
 this.viewTime = viewTime;
 this.hiddenTime = hiddenTime;
 this.mode = false;
 this.start();
};

Blinker.prototype.view = function ( ) {
 for( i = 0, I = this.buf.length; i < I; i++ )
  this.buf[i].style.visibility = 'visible';
};

Blinker.prototype.hide = function ( ) {
 for( i = 0, I = this.buf.length; i < I; i++ )
  this.buf[i].style.visibility = 'hidden';
};

Blinker.prototype.start = function ( ) {
 this.timerId && this.stop();
 this.loop();
};

Blinker.prototype.loop = function ( ) {
 this.mode ? this.view(): this.hide();
 this.timerId = setTimeout( (function ( that ) {
  return function ( ) { that.loop(); }; })( this ),
  this.mode ? this.viewTime: this.hiddenTime );
 this.mode = ! this.mode;
};

Blinker.prototype.stop = function ( ) {
 this.timerId && clearInterval( this.timerId );
 this.timerId = null;
};

Blinker.prototype.add = function ( n ) {
 n && this.buf.push( n );
};

Blinker.create = function ( viewTime, hiddenTime ) {
 var obj = new Blinker ( viewTime, hiddenTime || viewTime );
 var arg = 2, id, n;

 while( id = arguments[ arg++ ] ) {
  n = document.getElementById( id );
  n && obj.add( n );
 }
 return obj;
};

//____________________

var str1 = Blinker.create( 200, 100, 'a0', 'a2', 'a4' );
var str2 = Blinker.create( 400, 200, 'a1', 'a3', 'a5' );
var str3 = Blinker.create( 1000, 500, 'b0' );


</script>


</body>
</html>
    • good
    • 0
この回答へのお礼

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

ご教示いただいたソースを目視したところ、
想定動作の 2 が満たされていないようでした。


【1】
私の環境では、現状 id 名が固定になってしまう為です
(id を振る部分のプログラムを動的にして a + 連番 という形にできれば
使えるかも知れませんが)。

 <span id="a0">点</span>
 <span id="a0">滅</span>
 <span id="a0">サ</span>
 <span id="a0">ン</span>
 <span id="a0">プ</span>
 <span id="a0">ル</span>


【2】
下記のソースからは id の数が固定のような印象を受けました。
var str1 = Blinker.create( 200, 100, 'a0', 'a2', 'a4' );
var str2 = Blinker.create( 400, 200, 'a1', 'a3', 'a5' );
var str3 = Blinker.create( 1000, 500, 'b0' );

私の環境では、ページ毎に点滅する数が異なり、
数個の場合もあれば、数十個の場合もあり、
何個になるかはデータに依存しています。


以上、よろしくお願いします。

お礼日時:2010/05/30 14:32

最初の document.all で思いっきり return しちゃってるのでは?



とりあえずの応急処置
function blink() {
//if (!document.all) { return; }
var all = document.getElementsByTagName('*');
for (i = 0; i < all.length; i++) {
obj = all[i];
---以下そのまま---

しかし、毎回全部の中から探すというのもねぇ…
    • good
    • 0
この回答へのお礼

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

意図した動作をしている事を確認しました。

応急処置との事ですが、とりあえずご教示いただいたソースで進めていこうと思います。
どうもありがとうございました。

以上、よろしくお願いします。

お礼日時:2010/05/30 14:22

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q文字を点滅させるHTML

文字を点滅させるか、何かの方法で気を引かせるHTMLを教えて下さい。

Aベストアンサー

すでに回答が出揃った感もありますが…

文字を点滅させるHTMLは、Netscapeが独自に採用・実装したblinkタグがあります。 ただ、このタグはIEなど他のブラウザでは対応していないので、それらのブラウザでは点滅にはならないと思います。
他のブラウザで点滅表示をさせるには、JavaScriptを併用する必要があるでしょう。

ただ、文字に注意を引きたい場合は、点滅表示よりemやstrongといった強調のための要素、スタイルシートでの文字の装飾、HTML4.01では非推奨ですが、fontやU、Iなどといった文字の表示を変える要素を使うのが良いかもしれません。
blinkタグの点滅表示など文字が消えたり、あるいは動いたりする表示は、注意を引きやすくても、その文字を読みにくくしてしまいますので、使いどころを誤ると嫌われる可能性もあります。

QHTMLのタグで・・・

http://blog.goo.ne.jp/info/blog_use14.html
上のサイトにある blink 点滅
をブログに使う時は
<blink>点滅させたい文字</blink>
で点滅するんですよね?
何回やっても点滅しないんですが
どうしたら点滅するようになりますか?
もし、間違っていたら教えて下さい。

Aベストアンサー

blinkタグはインターネットエクスプローラーでは点滅されません。参照URLの方法を使えば、IEで点滅も可能です。
しかし将来的なことを考えれば、独自拡張タグを使用せず、HTML4.0に準拠したHTMLを使用した方が良いと思います。

参考URL:http://www.din.or.jp/~hideyuki/home/htmlmain.html

QMAX値を条件にデータを取得するには?

SQL文で困っています。
ご教授下さい。


下記のようなデータがあった場合、それぞれの区分毎に
年月が最大(最新)のデータを取得したいです。
(実際には1レコードにその他項目があり、それらも取得します。)
<検索対象データ>
区分 年月   金額
-----------------------------
A   200412  600
A   200503  560
B   200311  600
B   200508  1000
B   200504  560
C   200508  400
C   200301  1100


<取得したいデータ>

区分 年月   金額
-----------------------------
A   200503  560
B   200508  1000
C   200508  400

よろしくお願いします。

Aベストアンサー

テーブル名をXXXとすると次のようなSQLでよいと思います。(最善の方法かどうかは自信がないですが)

select B.* from (select 区分, max(年月) as 年月 from XXX group by 区分) As A
inner join XXX as B on A.区分 = B.区分 and A.年月 = B.年月
order by B.区分

Q配列をPOSTで受けとる

タイトルのまんまですが
配列をformで送って
それをPOSTで受け取りたいのですが
うまくいきません

具体的に言うと
<?php
print"<form method=POST action=action.php>";

for($i=0; $i<$n; $i++){
   print"<input type=text name=foo[$i]>";
}
print"<input type=hidden name=n value=$n>";
print"<input type=submit value=go>";
print"<form>";
?>


///////////以下action.php//////////////////
<?php
$n = $_POST["n"];
for($j=0; $j<$n; $j++){
   $foo[$j] = $_POST["foo[$j]"];
   print"$foo[$j]";
}
?>


こんな感じのことがしたいのですが
うまくいきません
どうもPOSTされてないみたいでfoo[$j]はnullです
凡ミスな気がしなくもないんですが...プログラム初心者なんで↓↓
教えてください
よろしくお願いします

タイトルのまんまですが
配列をformで送って
それをPOSTで受け取りたいのですが
うまくいきません

具体的に言うと
<?php
print"<form method=POST action=action.php>";

for($i=0; $i<$n; $i++){
   print"<input type=text name=foo[$i]>";
}
print"<input type=hidden name=n value=$n>";
print"<input type=submit value=go>";
print"<form>";
?>


///////////以下action.php//////////////////
<?php
$n = $_POST["n"];
for($j=0; $j<$n; $j++){
   $foo[$j] = $_POST["foo[$j...続きを読む

Aベストアンサー

atsuGTさんこんにちは。


受け取り側は

$foo = $_POST["foo"];

とするだけで$fooに送信された配列が格納されます。


$_POST["foo[添え字]"] ではなく、
$_POST["foo"][添え字] となります。

Q【Excel VBA】マクロでExcel自体を終了させたい

環境:WindowsXP、Excel2003

マクロでエクセルを終了(ブックを閉じて、アプリケーション自体も終了)させたいのですが、以下のコードではアプリケーションが閉じてくれません。

ThisWorkbook.Close
ExcObj.Quit
Application.Quit

どこか悪いところはありますでしょうか?

よろしくお願いします。

Aベストアンサー

普通に考えれば質問者のコードで上手くいきそうですが
hana-hana3さんの回答にもあるようにThisWorkBook.Closeでコード終了となりますので
Application.QuitをThisWorkBook.Closeの前にもってこないといけません。
Application.Quitはそれがあるプロシージャのコードが全て終わるまで
その実行を保留するちょと特別動作をします。

'-------------------------------------
 Application.Quit
 ThisWorkbook.Close
'-------------------------------------
 
 

QHTMLフォームのSELECTの幅を一定にするためには?

HTMLフォームのSELECTの幅を一定にするためにはどのようにすれば
いいのでしょうか?

CSS等で設定できるとありがたいのですが、やり方がわかりません。

Aベストアンサー

<select style="width: 200px">


人気Q&Aランキング