【info】有料サポート(ベータ)限定 承り中 /【JSサポート(仮称)】
【費用】 とりあえず、言い値で承ります。ただし、できる範囲での限定受付です。込み具合等によりお受けできない場合がありますのであらかじめご了承ください。サポートにご納得いただけなければ料金は不要です。 逆に感動したら多くても構いません(^^;;;。
【できること】 たとえば、かも日記で無料配布されているコードのカスタマイズや、あるいは、JavaScript/Ajax全般+Webサーバーとの連携などのアドバイス&サンプル作成等 。A:jQchartなどでWeb用グラフ設置(エクセル→CSVやデータベースからWebグラフ生成)などのアドバイスやカスタマイズサンプル作成。B:ツリーメニューなどのカスタマイズサンプル。C:Google Mapsのカスタマイズ。etc...
【できないこと】 腕立て伏せ200回
【ライセンス】 私が今まで「かも日記」等で提供してきたコードの大半は、商用利用、改造、自由、連絡不要で、今後もそれらは変わりません。そして、この有料サポートによりカスタマイズコードなどが提供される場合でも、同様に、それらを商用利用しても改造しても自由です。ただし、制限のきついライブラリなどを使う場合は、各ライブラリのライセンスに準拠せざるを得ない場合があります。
【info】いつもいろいろなテストなどをページ内のあちこちでやっているので、重かったり、壊れていたりするf^^;ことも多いですが、何卒、ご了承ください ( _ _ b
jQuery UIのドラッグドロップです。
jQuery UIのページにもデモはあるのですが、ちょっと凝りすぎていてUIとしてどうなの^^?という気もしないでもないので、jQuery のドラッグドロップを一瞬で理解できるページをメモしておきます。
【デモ】
Draggables Test Page
http://dev.jquery.com/view/trunk/plugins/ui/tests/draggable.html
3d Dragging Test Page
http://dev.jquery.com/view/trunk/plugins/ui/tests/draggable_3d.html
Droppables Test Page
http://dev.jquery.com/view/trunk/plugins/ui/tests/droppable.html
【リファレンス】
UI/Draggables
http://docs.jquery.com/UI/Draggables
UI/Droppables
http://docs.jquery.com/UI/Droppables
昨日のエントリslideshareが凄くなってきている で書いた、show/hide ボタンですが、いろいろな書き方ができそうなので、少し習作。
<script>
$(function(){
$("#btn_1789T00").click(function(){
if($("+ div",this).css("display")!="none"){
$("+ div",this).hide(); $(this).text("show");
}else{
$("+ div",this).show(); $(this).text("hide");
}
})
})
</script>
<style>
#slideshow1789T00 div{display:none}
</style>
<div id="slideshow1789T00">
<button id="btn_1789T00">show</button>
<div>test</div>
</div>
<script>
$(function(){
$("#btn_1789T01").click(function(){
($("+ div",this).css("display")!="none")?
$("+ div",this).hide():
$("+ div",this).show();
$(this).text($(this).text()=="show"?"hide":"show");
})
})
</script>
<style>
#slideshow1789T01 div{display:none}
</style>
<div id="slideshow1789T01">
<button id="btn_1789T01">show</button>
<div>test</div>
</div>
.hide("スピード",コールバック)のsyntaxを使ってみる。エフェクトが掛かります。
<script>
$(function(){
$("#btn_1789T02").click(function(){
($("+ div",this).css("display")!="none")?
$("+ div",this).hide("fast",function(){
$("#btn_1789T02").text("show")
}):
$("+ div",this).show("fast",function(){
$("#btn_1789T02").text("hide")
});
})
})
</script>
<style>
#slideshow1789T02 div{display:none}
</style>
<div id="slideshow1789T02">
<button id="btn_1789T02">show</button>
<div>test</div>
</div>
<script>
$(function(){
$("#btn_1789T03").click(function(){
($("+ div",this).css("display")!="none")?
($("+ div",this).hide(),$(this).text("show")):
($("+ div",this).show(),$(this).text("hide"));
})
})
</script>
<style>
#slideshow1789T03 div{display:none}
</style>
<div id="slideshow1789T03">
<button id="btn_1789T03">show</button>
<div>test</div>
</div>
上のサンプルの3項演算子書き方、(条件)?(式1,式2):(式3,式4); をなんとなく試しに書いてみたら動いたのでf^^;;検証してみます。
一応、var 変数1=値2,変数2=値2,...変数n=値n;のイメージで書いてみたんですけどどうかなぁ。
<script>
$(function(){
var a,b,c;
a=0,b=0,c=0;
$("#btn_1789T04").click(function(){
(a==0)?
(b=1,c=1):
(b=2,c=2);
//a=0,b=1,c=1になってる?
alert("a="+a+"\n"+"b="+b+"\n"+"c="+c+"\n")//なりました。
});
})
</script>
<button id="btn_1789T04">chk</button>
トグルイベント、jQuery.toggle(関数1,関数2)を使ってみる。
<script>
$(function(){
$("#btn_1789T05").toggle(
function () {
$("+ div",this).show();
$(this).text("hide");
},
function () {
$("+ div",this).hide();
$(this).text("show");
}
);
})
</script>
<style>
#slideshow1789T05 div{display:none}
</style>
<div id="slideshow1789T05">
<button id="btn_1789T05">show</button>
<div>test</div>
</div>
#個人的にはトグルが使いやすそう?
handle: function(event) {
// returned undefined or false
var val;
// Empty object is for triggered events with no data
event = jQuery.event.fix( event || window.event || {} );
では、このfixメソッドは何をしているのでしょう?ざっくりいうとクローンeventを作成してeventのブラウザ間の非互換を吸収するいくつかのプロパティを作り返しています。
fix: function(event) {
// store a copy of the original event object
// and clone to set read-only properties
var originalEvent = event;
event = jQuery.extend({}, originalEvent);
// add preventDefault and stopPropagation since
// they will not work on the clone
//高橋注:イベントキャンセルをevent.preventDefault()に統一
event.preventDefault = function() {
// if preventDefault exists run it on the original event
if (originalEvent.preventDefault)
originalEvent.preventDefault();
// otherwise set the returnValue property of the original event to false (IE)
originalEvent.returnValue= false;
};
//高橋注:イベントバブルキャンセルをevent.stopPropagation()に統一
event.stopPropagation = function() {
// if stopPropagation exists run it on the original event
if (originalEvent.stopPropagation)
originalEvent.stopPropagation();
// otherwise set the cancelBubble property of the original event to true (IE)
originalEvent.cancelBubble = true;
};
//高橋注:イベント対象要素取得をevent.target に統一
// Fix target property, if necessary
if ( !event.target && event.srcElement )
event.target = event.srcElement;
//高橋注:イベント対象要素取得でTEXTノード時のsafariフィックス
// check if target is a textnode (safari)
if (jQuery.browser.safari && event.target.nodeType == 3)
event.target = originalEvent.target.parentNode;
//高橋注:イベント移動要素取得をrelatedTargetに統一
// Add relatedTarget, if necessary
if ( !event.relatedTarget && event.fromElement )
event.relatedTarget = event.fromElement == event.target ? event.toElement : event.fromElement;
//高橋注:IEのDocType宣言により異なるDocument別にclientXへscrollLeft、
// clientYへscrollTop を加えてevent.pageXとevent.pageYを他のブラウザと統一
// Calculate pageX/Y if missing and clientX/Y available
if ( event.pageX == null && event.clientX != null ) {
var e = document.documentElement, b = document.body;
event.pageX = event.clientX + (e && e.scrollLeft || b.scrollLeft || 0);
event.pageY = event.clientY + (e && e.scrollTop || b.scrollTop || 0); }
//高橋注:キーコード取得をevent.whichで統一
// Add which for key events
if ( !event.which && (event.charCode || event.keyCode) )
event.which = event.charCode || event.keyCode;
//高橋注:Mac以外のブラウザでもMacのevent.metaKey をevent.ctrlKey で動作させる
// Add metaKey to non-Mac browsers (use ctrl for PC's and Meta for Macs)
if ( !event.metaKey && event.ctrlKey )
event.metaKey = event.ctrlKey;
//高橋注:マウスボタン押下番号IEのevent.button をevent.which と統一
// Add which for click: 1 == left; 2 == middle; 3 == right
// Note: button is not normalized, so don't use it
if ( !event.which && event.button )
event.which = (event.button & 1 ? 1 : ( event.button & 2 ? 3 : ( event.button & 4 ? 2 : 0 ) ));
return event;
}
内部でクロスブラウザ化されたevent.whichがどのような場合に露出されるか?
テストソース
<script src="./jquery.js" type="text/javascript"></script>
<div id="div17831">1 インラインなレガシーeventをargument.whichで取得</div>
<div id="div17832">2 インラインなレガシーeventをargument.which経由jQueryで利用
</div>
<div id="div17833">3 jQueryイベント内のargumentsで渡されるevent.which</div>
<div id="div17834">4 jQueryイベント内でグローバルなevent.whichを取得</div>
入力してください<input type="input" id="input1783" onkeyup="k(event)">
<script>
function k(event){
//test1
document.getElementById('div17831').innerHTML='1:キーコードは、'+event.which +'です。'
//test2
$("#div17832").html( "2:キーコードは、"+event.which +"です。");
}
$("#input1783").keyup(function(e){
//test3
$("#div17833").html("3:キーコードは、"+e.which +"です。");
//test4
$("#div17834").html("4:キーコードは、"+event.which +"です。");
})
</script>
テスト
入力してください
結果



1 インラインなレガシーeventをarguments.whichで取得
2 インラインなレガシーeventをarguments.which経由jQueryで利用
3 jQueryイベント内のargumentsで渡されるevent.which ←これだけが全ブラウザででOK!
4 jQueryイベント内でグローバルなevent.whichを取得
たぶん結論
jQueryイベント内部でクロスブラウザ化された、jQueryの独自イベントは、
3のjQueryイベント内のargumentsで渡されるeventのwhichなど、
jQueryのイベントコールバック関数の引数としてのみ取得できますが、
グローバルなeventには影響しませんので、
他のライブラリなどと組み合わせても衝突などはありません。たぶん。
which に keyCode が格納されている場合があるだけで keyCode が変更されてるわけではないので、例が keyCode なのはよくないのでは。
高橋 ( 2007年11月01日 19:20 )あ、本当だ、内部の話をしながら、途中からなぜか完全に勘違いしてました。Milly さんご指摘ありがとうございました。落ち込むなぁ、、、whichの条件式も頭の中で変になってたし。今日は朝からダメダメです。もう寝ようかな、、、。
Milly ( 2007年11月01日 19:32 )なんだか落ち込ませてしまったみたいですが、いつも参考にさせていただいてます。これからも有用な記事を期待してます。:)
高橋 ( 2007年11月01日 19:44 )ありがとうございます。中身は、少し不安になったので、再調査します。でも、今日はもう寝ます。ばた。
高橋 ( 2007年11月01日 23:24 )寝ずにアバウトなテスト完了。ほぼスコープを推測(笑)できたような緩いような。。。最近、良いことが全然無くて、いまひとつ勢いが出ない状態です。今度こそ寝ます。
UI/Tabs/tabsClick
tabsClick(position)
タブクリックをシミュレートするメソッド。 参照→【jQuery】jQuery UI/Tab (CSSの衝突とFirebugの大活躍) 参照本家→tabsClick
引数
positionNumber
クリックされるタブの位置(0ベースのindexです)。
Examples
Example1 :
--タブ送りボタン
<script src="./jquery-1.2.1.min.js" type="text/javascript"></script>
<script src="./ui.tabs/ui.tabs.js" type="text/javascript"></script>
<link rel="stylesheet" href="./jquery.ui-1.0/ui.tabs/ui.tabs.css" type="text/css">
<script type="text/javascript">
$(function() {
$('#jqtabexample1782 ul').tabs({ fxFade: true, fxSpeed: 'fast' });
$('#tabclick1782').click(function(){
var sel=$('#jqtabexample1782 ul').tabsSelected() ;
$('#jqtabexample1782 ul').tabsClick(sel>=3?1:++sel);
});
});
</script>
<p><button id="tabclick1782">Next</button>--タブ送りボタン</p>
<div id="jqtabexample1782">
<ul>
<li><a href="#tab1"><span>基本</span></a></li>
<li><a href="#tab2"><span>階層</span></a></li>
<li><a href="#tab3"><span>基本フィルタ</span></a></li>
</ul>
<div id="tab1" class="ui-tab-block">
<a href='#' class="ui-tab-link">
Basics(基本):
</a>
<div class="ui-tab-body">
(略)
</div>
</div>
<div id="tab2" class="ui-tab-block">
<a href='#' class="ui-tab-link">
Basics(基本):
</a>
<div class="ui-tab-body">
(略)
</div>
</div>
<div id="tab3" class="ui-tab-block">
<a href='#' class="ui-tab-link">
Basics(基本):
</a>
<div class="ui-tab-body">
(略)
</div>
</div>
</div>
p.s. 「sel>=3?1:++sel」は、3項演算子で、変数selが3以上なら1、それ以外ならselに1を足した値を返します。selは、現在のタブのindex番号なので、現在選択中のタブが1、2、3番目のタブまでなら、Nextタブのindexとして 2、3、4 を返し 4なら 1 に戻します。これで、クリックしづづけて最後のタブへ着くと最初のタブへ自動的に戻るようになります。
Selectors/ odd
:odd
$(expression[,context]) の引数で使用し、検索生成された要素配列のうち、0からはじめてindexが奇数の要素(s)。 参照→Selectors 参照→:even 参照本家→:odd
型
String
Examples
Example1 : テーブルの奇数行を灰色(#dddddd)、偶数行をブルー(#d0e6ff)、ヘッダ行を灰色(#ccc)にします。(index 0 からはじめます。0は偶数扱いです)
| 名前 | 点数 |
| 山田 | 80 |
| 田中 | 50 |
| 中川 | 60 |
| 川西 | 55 |
| 西山 | 18 |
<script type="text/javascript">
$(function(){
$("#test17811 thead").css("background", "#ccc");
$("#test17811 tbody tr:even").css("background", "#d0e6ff");
$("#test17811 tbody tr:odd").css("background", "#dddddd");
});
</script>
<style>
#test17811 {
border-collapse:collapse ;
border-spacing:0px;
}
#test17811 thead td{
border-right: 1px solid #888;
border-bottom: 1px solid #888;
}
#test17811 td{
border-right: 1px solid #bbb;
border-bottom: 1px solid #bbb;
}
</style>
<div id="test17811">
<table>
<thead>
<tr><td>名前</td><td>点数</td></tr>
</thead>
<tbody>
<tr><td>山田</td><td>80</td></tr>
<tr><td>田中</td><td>50</td></tr>
<tr><td>中川</td><td>60</td></tr>
<tr><td>川西</td><td>55</td></tr>
<tr><td>西山</td><td>18</td></tr>
</tbody>
</table>
</div>
</p>
</div>
ちなみに、↓ この方が早い。
<style>
#test17811 {
border-collapse:collapse ;
border-spacing:0px;
}
#test17811 thead td{
border-right: 1px solid #888;
border-bottom: 1px solid #888;
}
#test17811 td{
border-right: 1px solid #bbb;
border-bottom: 1px solid #bbb;
}
</style>
<div id="test17811">
<table>
<thead>
<tr><td>名前</td><td>点数</td></tr>
</thead>
<tbody>
<tr><td>山田</td><td>80</td></tr>
<tr><td>田中</td><td>50</td></tr>
<tr><td>中川</td><td>60</td></tr>
<tr><td>川西</td><td>55</td></tr>
<tr><td>西山</td><td>18</td></tr>
</tbody>
</table>
</div>
</p>
</div>
<script type="text/javascript">
//$(function(){
$("#test17811 thead").css("background", "#ccc");
$("#test17811 tbody tr:even").css("background", "#d0e6ff");
$("#test17811 tbody tr:odd").css("background", "#dddddd");
//});
</script>
Selectors/ even
:even
$(expression[,context]) の引数で使用し、検索生成された要素配列のうち、0からはじめてindexが偶数の要素(s)。 参照→Selectors 参照→:odd 参照本家→:even
型
String
Examples
Example1 : テーブルの偶数行へ背景色を指定します。ID名が"#test17801"要素内のtbody要素配下でtr要素へCSS指定します。(index 0 からはじめます。0は偶数扱いです。)
| 名前 | 点数 |
| 山田 | 80 |
| 田中 | 50 |
| 中川 | 60 |
| 川西 | 55 |
| 西山 | 18 |
<script src='./jquery-min.js'></script>
<script type="text/javascript">
$(function(){
$("tbody tr:even","#test17801").css("background", "#ddd");
});
</script>
<style>
#test17801 {
border-collapse:collapse ;
border-spacing:0px;
}
#test17801 td{
border-right: 1px solid #CCC;
border-bottom: 1px solid #CCC;
background-color: #EFF2F3;
}
</style>
<div id="test17801">
<table border="0">
<thead>
<tr><td>名前</td><td>点数</td></tr>
</thead>
<tbody>
<tr><td>山田</td><td>80</td></tr>
<tr><td>田中</td><td>50</td></tr>
<tr><td>中川</td><td>60</td></tr>
<tr><td>川西</td><td>55</td></tr>
<tr><td>西山</td><td>18</td></tr>
</tbody>
</table>
</div>
Example1 : ボタンクリックでテーブルの偶数行&偶数列へ背景色を指定します。ID名が"#test17802"要素内のtbody要素配下でtr:evenな要素内の td:evenな要素(^^;へCSS指定します。(index 0 からはじめます。0は偶数扱いです。)
P.S.縞々テーブルも1行で処理できるのは便利。
| 名前 | 点数 |
| 山田 | 80 |
| 田中 | 50 |
| 中川 | 60 |
| 川西 | 55 |
| 西山 | 18 |
<script src='./jquery-min.js'></script>
<script type="text/javascript">
$(function(){
$("#my1780btn").click(function(){
$("#test17802 tbody tr:even td:even").css("background", "gold");
});
});
</script>
<style>
#test17802 {
border-collapse:collapse ;
border-spacing:0px;
}
#test17802 td{
border-right: 1px solid #CCC;
border-bottom: 1px solid #CCC;
background-color: #EFF2F3;
}
</style>
<div id="test17802">
<table border="0">
<thead>
<tr><td>名前</td><td>点数</td></tr>
</thead>
<tbody>
<tr><td>山田</td><td>80</td></tr>
<tr><td>田中</td><td>50</td></tr>
<tr><td>中川</td><td>60</td></tr>
<tr><td>川西</td><td>55</td></tr>
<tr><td>西山</td><td>18</td></tr>
</tbody>
</table>
</div>
<button id="my1780btn">click</button>
$("#testId").innerHTML="hogehoge" //使えません
その代わり、豊富なメソッドを持つjQueryオブジェクトを返すのでそれで処理してね。というわけです。
たとえば、次のように書けば、検索したDOM要素へHTMLを書き込むことができます。
$("#testId").html("hoge<b>hoge</b>")
でも、今までのコード資産や他のライブラリと組み合わせる時には、このままでは使いにくいので、普通のDOMElementをどうすれば手に入れられるのかみてみます。
[div#testID](このdiv#testIDは、DOMElementオブジェクトです) さらに、複数の要素が返るタイプのセレクタ(たとえば$(".ccc")とか)を使うとこうです。
[div#aaa.ccc, div#bbb.ccc,....(略)....]つまり、検索された要素がすべて収まった配列です。この配列はクリーンな配列で、検索した要素だけが収まっています。jQueryインスタンス内の各メソッドは露出しません。
$(".ccc")[0]
[0]のインデックス番号を変えれば次々と取り出せますし、$(".ccc").lengthで検索した要素の数も返ってきますので、次のような書き方もできます。
ary=$(".ccc");
for(var i=0;i<ary.length;i++)alert(ary[i].innerHTML)
また、jQueryのメソッドeachを利用して書くこともできます。
$(".ccc").each(function(index,nodeOj){
this.innerHTML="dddd"
})
(ちなみに、この第二引数nodeOjとthisは同じです)$(".firstHeading").each(function(index,nodeOj){
$(".ccc").get()//配列が返ります
$(".ccc").get(0)//0番目の要素が返ります
})
したがって、たとえば、0番目の要素の中身は、innerHTMLで次のように書き換えることもできるわけです。
$(".ccc").get(0).innerHTML="ok 書き換わりました"
まぁ、jQueryの作法に従わないと、美しくは書けないかもしれませんが ( jQueryの作者自身はjQueryをダーティと謙遜してますけど )、知っておくと多少は役に立つかなぁ。
$("#jqexample").accordion({alwaysOpen: false}); $.fn.extend( $("#jqexample").accordion , { showAll:function(){$("#jqexample .ui-accordion-body").fadeIn();}, hideAll:function(){$("#jqexample .ui-accordion-body").fadeOut();} }); $("#jqexample").accordion.hideAll() ; $("#jqshowall:checkbox").click(function(e){ if($("#jqshowall:checkbox").get(0).checked){ $("#jqexample").accordion.showAll() ; } else { $("#jqexample").accordion.hideAll() ; } });//で、さらに修正f^^;;;//インスタンス作ります $("#jqexample").accordion({alwaysOpen: false}); //インスタンスにメソッドを2つ追加コピーします $.fn.extend( $("#jqexample").accordion , { showAll:function(targets){$(targets).fadeIn();}, hideAll:function(targets){$(targets).fadeOut();} }); //全部フェイドアウト ここは、フェイドは無駄なのでhide()で良いかも $("#jqexample").accordion.hideAll("#jqexample .ui-accordion-body") ; //チェックボックスクリック来たら判定して2つのメソッドをトグル動作させる $("#jqshowall:checkbox").click(function(e){ if($("#jqshowall:checkbox").get(0).checked){ $("#jqexample").accordion.showAll("#jqexample .ui-accordion-body") ; } else { $("#jqexample").accordion.hideAll("#jqexample .ui-accordion-body") ; } });//インスタンス作ります $("#jqexample").accordion({alwaysOpen: false}); //インスタンスのaccordionにshowAllメソッドを追加コピーします $.fn.extend( $("#jqexample").accordion , { showAll:function(target){$(target).fadeIn();} }); //ボタンクリック来たらshowAllメソッドを動作させる $("#jqshowall:button").click(function(e){ $("#jqexample").accordion.showAll("#jqexample .ui-accordion-body") ; }); でも、拡張使ってみたかったというだけのことなので普通は下記で良いかも(笑)。 //インスタンス作ります $("#jqexample").accordion({alwaysOpen: false}); //ボタンクリック来たら#jqexample 内の.ui-accordion-bodyをすべてfadeInする $("#jqshowall:button").click(function(e){ $("#jqexample .ui-accordion-body").fadeIn(); }); それにしても、jQueryだと、なんて簡単に書けるんだろう!
#id String
与えられたID名にマッチするエレメント
element String
与えられた要素名(タグ名)にマッチするエレメント(s)
.class String
与えられたクラス名にマッチするエレメント(s)
*String
すべてのエレメント(s)
selector1, selector2, ...selectorN String
指定したすべてのエレメント(s)。「,」で区切っていくつでもセレクタを増やせます。
ancestor descendant String
左辺の「先祖 ancestor」要素内にある 右辺の「子孫 descendant」要素に該当するすべてのエレメント(s)
parent > child String
左辺の「親 parent」要素内にある 右辺の「子 child」要素に該当するすべてのエレメント(s)
prev + next String
左辺の「前 prev」要素の「次 next」の要素に該当するエレメント
prev ~ siblingsString
左辺の「前 prev」要素以降にある右辺の「兄弟 siblings」要素に該当するすべてのエレメント(s)
:first String
最初のエレメント(s)
:last String
最後のエレメント(s)
:not(selector) String
与えられたセレクタを無視します
:eq(index) String
与えたインデックス番号に合致する要素
:gt(index) String
与えたインデックス番号を超えるインデックスの要素
:lt(index) String
与えたインデックス番号未満のインデックスの要素
:header String
すべての<H>見出し要素
:animated String
現在アニメーション動作中の要素(s)
:contains(text) String
与えられたtextにマッチするすべての要素(s)
:empty String
内容が空のすべての要素
:has(selector) String
与えられたセレクタにマッチするすべての要素(s)
:parent String
文字列を含む親要素
:hidden String
hiddenな状態のすべての要素 inputのhiddn
:visible String
文字列を含む親要素
[attribute] String
指定された属性attributeを持つ要素(s)
[attribute=value] String
指定された属性attributeが、指定された値valueの要素(s)
[attribute^=value] String
指定された属性attributeが、指定された値valueで始まる要素(s)
[attribute$=value] String
指定された属性attributeが、指定された値valueで終わる要素(s)
[attribute*=value] String
指定された属性attributeが、指定された値valueをどこかに持つ要素(s)
:nth-child(index/even/odd/equation) String
:nth-childで指定された要素のうちindex番目/偶数/奇数/式の要素(s)
:first-child String
最初の子要素
:last-child String
最後の子要素
:only-child String
その親要素内で唯一の(兄弟を持たない)子要素
:input String
input, textarea, select と button 要素
:text String
type="text"のinput要素
:password String
type="password"のinput要素
:radio String
type="radio"のinput要素
:checkbox String
type="checkbox"のinput要素
:submit String
type="submit"のinput要素
:image String
type="image"のinput要素
:reset String
type="reset"のinput要素
:button String
type="submit"のinput要素
:file String
type="file"のinput要素
:hidden String
type="hidden"のinput要素、または、display:noneなどhiddenな要素
:enabled String
enabledな要素
:disabled String
disabledな要素
:checked String
checkedな要素
:selected String
selectedな要素
縦に長いコンテンツでアコーディオンを使うと、上下に行ったり来たりが増えてとても見づらいです……
高橋 ( 2007年10月27日 01:11 )私も設置してみてそれ感じました(^^;;ということで、showAll/hideAllチェックをつけてみました。
見る人以外は、全部開くとかなり場所をとるので、デフォルトでhideAll。
読みたいときだけ読みたい部分をクリックで引き出しのように開くか、showAllで全部開いてゆっくり見る、という形になりますが、どうでしょう。
高橋 ( 2007年10月27日 02:26 )hideAllに不具合があったのでshowAllのみのボタンに変更しましたf^^;;;
高橋 ( 2007年10月28日 22:00 )アコーディオンをやめて、Tabに変更しました。コピーミスで、</div>を2個多く書いたせいで一瞬ページがぐちゃぐちゃに(^^;
$(callback)
DOM の読み込みが完了すると、引数で与えたcallback関数を実行します。$(document).ready()を簡略化した表現です。複数登録も可能です。 ( * 「$」はjQueryオブジェクトへのショートカットなのでjQuery(callback) と書いても同じです。)
引数
callback Function
DOM document が準備完了するとこのcallback関数が実行されます。
戻り値
jQuery インスタンス (DOM Elementそのものではありませんので 戻り値.innerHTMLなどは できません)
Examples
Example1 : ページの読み込みが完了すると、 下のボタンが「チョトマテクダサイ...」から「クリックしてもOK!」に変わりクリックできるようになります。 クリックすると、"#myId1770" の要素がフェイドインで現れます