2014
10
4
タグ:Ajax
<dl class="tigger"> <dt>開く</dt> <dd><!--sample.txt読み込み--></dd> </dl>
dl.tigger { width: 320px; background:#999; margin: 0 auto; } dl.tigger dt{ background:#333; color:#fff; font-size: 20px; text-align:center; cursor: pointer; font-weight: bold; } dl.tigger dd{ display: none; padding: 10px; }
$(function() { $('.tigger dt').click(function(){ $(this).next().slideToggle(); $.ajax({ data : { triggerNum : $('.tigger dt').index(this), }, success : function(data) { alert('読み込み成功'); $(".tigger dd").load("sample.txt"); }, error:function(data) { alert('読み込み失敗'); } }) }); });
読み込み完了上記2ファイルを同ディレクトリに管理してください。 アコーディオンをクリックする事で外部sample.txtファイルを読み込みます。 デモページはコチラです。
<dl class="tigger"> <dt>開く</dt> <dd><!--sample1.txt読み込み--></dd> <dt>開く</dt> <dd><!--sample2.txt読み込み--></dd> <dt>開く</dt> <dd><!--sample3.txt読み込み--></dd> </dl>
$(function() { $('.tigger dt').click(function(){ $(this).next().slideToggle(); $.ajax({ context: $('.tigger dt').index(this) + 1, data : { triggerNum : $('.tigger dt').index(this) + 1, }, success : function(data) { //alert('読み込み成功'); $(".tigger dd").eq(this-1).load("sample" + this + ".txt"); }, error:function(data) { alert('読み込み失敗'); } }) }); });
sample1.txt読み込み完了!
sample2.txt読み込み完了!!
sample3.txt読み込み完了!!!各アコーディオンをクリックする事で該当するナンバリングの外部txtファイルを読み込みます。 ※txtファイルの名前を変更してしまうと読み込みに失敗してしまうので、複数の方が管理するサイトに導入する場合は共有してください。 デモページはコチラです。
$(function() { $('.tigger dt').click(function(){ $(this).next().slideToggle(); $.ajax({ type: 'GET', url: 'testAjax.php', async: false, context: $('.tigger dt').index(this) + 1, data : { triggerNum : $('.tigger dt').index(this) + 1, }, success : function(data) { //alert('読み込み成功'); $(".tigger dd").eq(this-1).load("sample" + this + ".txt"); }, error:function(data) { alert('読み込み失敗'); } }) }); });
<?php /* 開いたアコーディオン項目判定 */ switch($_GET['triggerNum']){ case $_GET['triggerNum'] = 1: $_GET['fileNum'] = "ファイル①"; break; case $_GET['triggerNum'] = 2: $_GET['fileNum'] = "ファイル②"; break; case $_GET['triggerNum'] = 3: $_GET['fileNum'] = "ファイル③"; break; } /* 配列の作成(年月日,時刻,トリガー番号,オプション項目) */ $array = array(date("Y/m/d"), date("H:i"), $_GET['triggerNum'] ,$_GET['fileNum']); /* ファイルポインタをオープン */ $file = fopen("testAjax.csv", "a"); /* CSVファイルを配列へ */ if( $file ){ var_dump( fputcsv($file, $array) ); } /* ファイルポインタをクローズ */ fclose($file); $triggerNum = $_GET['triggerNum']; document.write($triggerNum); ?>上記の各ファイル内容を設定したフォルダをサーバーにアップしてページにアクセスしアコーディオンをクリックするとアップしたサーバーのフォルダ内にtestAjax.csvが生成されていると思います。 こちらのCSVファイルのセルに下記項目のデータが追記されます。