投稿テスト

FeedWordPress 2011.0706 が、WordPress 3.2 環境で正常に動くかどうかのテスト。


(これが投稿されたということは、正常に動いたということです)


Filed under: ★実験  タグ: , , ,   charlie432 00:40  Comments (0)

アレをアレしたらアレがアレになるアレのアレのアレ

アレについてはいろいろアレンジできますが、今回は

「ボタンをクリックしたらボタンに応じたオブジェクトにスクリプトが実行されるJavaScriptの備忘録の前半」

です。

時間がないので、調べている過程で知ったことや、関連事項のまとめなどは後日書きます。

 

とりあえず、、、

nを正の整数とするとき、

  1. 初期状態は、テーブル1と、「テーブル2を追加する」ボタンを表示
  2. テーブルnが表示されたら、「テーブル(n+1)を追加する」ボタンも表示。ただし、n+1=6のときはアラート表示
  3. テーブルnが表示されているときは、「テーブルnを追加する」ボタンは非表示にする
  4. テーブル内に設置された「削除」ボタンで、そのテーブルを削除する(非表示にさせる)
  5. テーブルnが削除されたら「テーブルnを追加」ボタンを表示させる
  6. テーブルnが削除されているときは「テーブル(n+1)を追加」ボタンは非表示とさせる
  7. nの最大値は5

というページを作る用事があったので、こんな感じで作ってみました。

CSS↓

#add1,
#add3,
#add4,
#add5,
#noMoreTable,
#table2,
#table3,
#table4,
#table5 {
	display:none;
}

 

JavaScript↓

function add1() {
	document.getElementById('table1').style.display=['block'];
	document.getElementById('add1').style.display=['none'];
	if(document.getElementById('table2').style.display !='block')
		{document.getElementById('add2').style.display=['block'];}
}

function add2() {
	document.getElementById('table2').style.display=['block'];
	document.getElementById('add2').style.display=['none'];
	if(document.getElementById('table3').style.display !='block')
		{document.getElementById('add3').style.display=['block'];}
}

function add3() {
	document.getElementById('table3').style.display=['block'];
	document.getElementById('add3').style.display=['none'];
	if(document.getElementById('table4').style.display !='block')
		{document.getElementById('add4').style.display=['block'];}
}

function add4() {
	document.getElementById('table4').style.display=['block'];
	document.getElementById('add4').style.display=['none'];
	if(document.getElementById('table5').style.display !='block')
		{document.getElementById('add5').style.display=['block'];}
}

function add5() {
	document.getElementById('table5').style.display=['block'];
	document.getElementById('add5').style.display=['none'];
	document.getElementById('noMoreTable').style.display=['block'];
}

function del1() {
	document.getElementById('add1').style.display=['block'];
	document.getElementById('table1').style.display=['none'];
	document.getElementById('add2').style.display=['none'];
}

function del2() {
	document.getElementById('add2').style.display=['block'];
	document.getElementById('table2').style.display=['none'];
	document.getElementById('add3').style.display=['none'];
}

function del3() {
	document.getElementById('add3').style.display=['block'];
	document.getElementById('table3').style.display=['none'];
	document.getElementById('add4').style.display=['none'];
}

function del4() {
	document.getElementById('add4').style.display=['block'];
	document.getElementById('table4').style.display=['none'];
	document.getElementById('add5').style.display=['none'];
}

function del5() {
	document.getElementById('add5').style.display=['block'];
	document.getElementById('table5').style.display=['none'];
	document.getElementById('noMoreTable').style.display=['none'];
}

function noMoreTable() {
	window.alert('申し訳ございません。テーブルは最大5つまでです。')
}

 

html↓

<p><input type="button" id="add1" value="テーブル1を追加" onclick="add1();"></p>

<table border="1" id="table1">
	<tr>
		<td>テーブル1</td>
		<td><input type="button" value="削除" onclick="del1();"></td>
	</tr>
</table>

<p><input type="button" id="add2" value="テーブル2を追加" onclick="add2();"></p>

<table border="1" id="table2">
	<tr>
		<td>テーブル2</td>
		<td><input type="button" value="削除" onclick="del2();"></td>
	</tr>
</table>

<p><input type="button" id="add3" value="テーブル3を追加" onclick="add3();"></p>

<table border="1" id="table3">
	<tr>
		<td>テーブル3</td>
		<td><input type="button" value="削除" onclick="del3();"></td>
	</tr>
</table>

<p><input type="button" id="add4" value="テーブル4を追加" onclick="add4();"></p>

<table border="1" id="table4">
	<tr>
		<td>テーブル4</td>
		<td><input type="button" value="削除" onclick="del4();"></td>
	</tr>
</table>

<p><input type="button" id="add5" value="テーブル5を追加" onclick="add5();"></p>

<table border="1" id="table5">
	<tr>
		<td>テーブル5</td>
		<td><input type="button" value="削除" onclick="del5();"></td>
	</tr>
</table>

 

結果↓

テーブル1

テーブル2

テーブル3

テーブル4

テーブル5

一応できたんですが、ブログで書くとWordPressや自分でカスタマイズした機能が働いて、今ひとつ思い通りになっていません。余裕ができたらそこら辺を修正をしたいと思います。

あ、あと今後の課題として、テーブルやボタンのidは添え字1~5の配列にする、とか、最大値を任意のnにしてそのnの値はユーザー側で設定できるようにする、など。

Filed under: ★Web制作関係  タグ: , , , ,   charlie432 00:00  Comments (1)

SyntaxHighlighterでソースコードを見やすく表示

ASCII.jp:技術系サイトに必需品! ソースコードは鮮やかに
ソースコードを綺麗に表示するJS「dp.SyntaxHighlighter」|caraldo.net | WebとiPhoneとロードバイクが大好き!
などを参考に、SyntaxHighlighterを実装させてみました。

さっそく、<head></head>内に追加したコードを書いてみると、
<!-- Syntax Highlighter -->
<script type="text/javascript" src="http://charlie432.fool.jp/syntaxhighlighter/scripts/shCore.js"></script>
<script type="text/javascript" src="http://charlie432.fool.jp/syntaxhighlighter/scripts/shBrushXml.js"></script>
<script type="text/javascript" src="http://charlie432.fool.jp/syntaxhighlighter/scripts/shBrushCss.js"></script>
<script type="text/javascript" src="http://charlie432.fool.jp/syntaxhighlighter/scripts/shBrushJScript.js"></script>
<script type="text/javascript" src="http://charlie432.fool.jp/syntaxhighlighter/scripts/shBrushPhp.js"></script>
<link type="text/css" rel="stylesheet" href="http://charlie432.fool.jp/syntaxhighlighter/styles/shCore.css"/>
<link type="text/css" rel="stylesheet" href="http://charlie432.fool.jp/syntaxhighlighter/styles/shThemeDefault.css"/>
<script type="text/javascript">
SyntaxHighlighter.config.clipboardSwf = 'http://charlie432.fool.jp/syntaxhighlighter/scripts/clipboard.swf';
SyntaxHighlighter.all();
</script>
<!-- /Syntax Highlighter -->


いままで

<!-- Syntax Highlighter --> <script type="text/javascript" src="http://charlie432.fool.jp/syntaxhighlighter/scripts/shCore.js"></script> <script type="text/javascript" src="http://charlie432.fool.jp/syntaxhighlighter/scripts/shBrushXml.js"></script> <script type="text/javascript" src="http://charlie432.fool.jp/syntaxhighlighter/scripts/shBrushCss.js"></script> <script type="text/javascript" src="http://charlie432.fool.jp/syntaxhighlighter/scripts/shBrushJScript.js"></script> <script type="text/javascript" src="http://charlie432.fool.jp/syntaxhighlighter/scripts/shBrushPhp.js"></script> <link type="text/css" rel="stylesheet" href="http://charlie432.fool.jp/syntaxhighlighter/styles/shCore.css"/> <link type="text/css" rel="stylesheet" href="http://charlie432.fool.jp/syntaxhighlighter/styles/shThemeDefault.css"/> <script type="text/javascript"> SyntaxHighlighter.config.clipboardSwf = 'http://charlie432.fool.jp/syntaxhighlighter/scripts/clipboard.swf'; SyntaxHighlighter.all(); </script> <!-- /Syntax Highlighter --> と見せていたものです。

ですが、ここまでくるのにちょっとした落とし穴が。


各単語を区切るために<code></code>(本当は<span></span>かもしれないですが、なぜか<code></code>になっています)で囲まれているのですが、
WordPressで<code>タグを有効にするには ≫ マイペースのLinux
にもあるように、スタイルシートを
code {
	display:block;
}

としていたので、各単語の切れ目ごとに改行されてしまいました。

また、背景に色や影を敷いたり罫線を付けたりさせていたので、かなり派手な装飾に。


ここで使っているSyntaxHighlighterは
<div class="syntaxhighlighter"></div>
で囲まれているので、

.syntaxhighlighter code {
	display:inline;
	background-color:transparent;
}


などで初期化して、ようやく思った表示になりました。

といっても、まだ少し変なところがあるので、その修正と、余裕ができたらカスタマイズしてゆきたいと思います。

どうしようもなく崩れている場合は「F5」を押したら直るかも?

Filed under: ★Web制作関係  タグ: , , , , , , , , , , , , , , , ,   charlie432 00:00  Comments (0)
    2012年2月
    « 1月    
     12345
    6789101112
    13141516171819
    20212223242526
    272829