スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
このエントリーをはてなブックマークに追加

[javascript]FullCalendarのクリックイベント

//クリック時に選択状態にする(selectイベントは呼ばれない)
$('#calendar').fullCalendar({
dayClick: function(date, jsEvent, view) {
// 選択状態にする(どこかで選択状態を解除する)
$('#calendar').fullCalendar('select',date,date);
}
});


参考URL:FullCalendar - dayClick
スポンサーサイト
このエントリーをはてなブックマークに追加

[Javascript]FullCalendarの範囲選択をしたくない場合の書き換え

ドラッグ範囲の日にちをまとめて選択する機能をfullcalendar.jsを書き換えて強制的に止めます。
fullcalendar-2.0.3/demos/selectable.htmlを利用します。

rangeToSegmentsメソッドを書き換えます。(fullcalendar.js 5964行目)
function rangeToSegments(start, end) {

var rowCnt = t.getRowCnt();
var colCnt = t.getColCnt();
var segments = []; // array of segments to return

// day offset for given date range
var rangeDayOffsetStart = dateToDayOffset(start);
// var rangeDayOffsetEnd = dateToDayOffset(end); // an exclusive value
var rangeDayOffsetEnd = dateToDayOffset(start); // 終点にもスタートの値を与える
var endTimeMS = +end.time();
if (endTimeMS && endTimeMS >= nextDayThreshold) {
rangeDayOffsetEnd++;
}
rangeDayOffsetEnd = Math.max(rangeDayOffsetEnd, rangeDayOffsetStart + 1);

// first and last cell offset for the given date range
// "last" implies inclusivity
var rangeCellOffsetFirst = dayOffsetToCellOffset(rangeDayOffsetStart);
var rangeCellOffsetLast = dayOffsetToCellOffset(rangeDayOffsetEnd) - 1;

// loop through all the rows in the view
for (var row=0; row<rowCnt; row++) {

// first and last cell offset for the row
var rowCellOffsetFirst = row * colCnt;
var rowCellOffsetLast = rowCellOffsetFirst + colCnt - 1;

// get the segment's cell offsets by constraining the range's cell offsets to the bounds of the row
var segmentCellOffsetFirst = Math.max(rangeCellOffsetFirst, rowCellOffsetFirst);
var segmentCellOffsetLast = Math.min(rangeCellOffsetLast, rowCellOffsetLast);

// make sure segment's offsets are valid and in view
if (segmentCellOffsetFirst <= segmentCellOffsetLast) {

// translate to cells
var segmentCellFirst = cellOffsetToCell(segmentCellOffsetFirst);
var segmentCellLast = cellOffsetToCell(segmentCellOffsetLast);

// view might be RTL, so order by leftmost column
var cols = [ segmentCellFirst.col, segmentCellLast.col ].sort();

// Determine if segment's first/last cell is the beginning/end of the date range.
// We need to compare "day offset" because "cell offsets" are often ambiguous and
// can translate to multiple days, and an edge case reveals itself when we the
// range's first cell is hidden (we don't want isStart to be true).
var isStart = cellOffsetToDayOffset(segmentCellOffsetFirst) == rangeDayOffsetStart;
var isEnd = cellOffsetToDayOffset(segmentCellOffsetLast) + 1 == rangeDayOffsetEnd; // +1 for comparing exclusively

segments.push({
row: row,
leftCol: cols[0],
rightCol: cols[1],
isStart: isStart,
isEnd: isEnd
});
}
}
return segments;
}


始点終点を同じにすると言うやり方です。
気が進まない場合はこのメソッドを利用している周辺のコードを読んで改造してください。

追記:普通にクリックのイベントがあるのでやる必要がありませんでした。
このエントリーをはてなブックマークに追加

[javascript]videoタグの再生時イベント処理

//動画再生時に「hoge」とアラートする
document.addEventListener('DOMContentLoaded',function(){
document.getElementsByTagName('video')[0].addEventListener('play', function() {
alert("hoge");
}, false);
});
このエントリーをはてなブックマークに追加

tag : javascript video 制御

[javascript]PHPからjavascriptへ連想配列を渡す1

今回は連想配列の一部キーの値を渡す処理です。
今回の例はかなり限定された利用例となっております。

//配列例
Array(
[0] => Array(
[id] => 1
[title] => aaa
)
[1] => Array(
[id] => 2
[title] => ddd
)
[2] => Array(
[id] => 3
[title] => ccc
)
);


PHPとjavascript間で値をやり取りする場合は、文字列にする必要があります。
まずは必要なキーの値を文字列結合します。
//PHP側で取り出したいキーの配列を文字列化します。
$titles = '';
foreach ($choice as $key => $value) {
$titles .= ','.$value['title'];
}
$titles = substr($titles,1); //先頭にのこったカンマを取り除く


その後にjavascript側に値を渡します。
//スクリプト内で次の様に取得します。
var titles_str = '<?php echo $titles;?>'; //文字列を一度取得
var titles = titles_str.split(','); //文字列をカンマで分解し、配列化



参考URL1:phpの変数や配列をjavascriptへ渡す方法
参考URL2:JavaScript の配列と連想配列の違い
参考URL3:文字列操作 - 文字列の一部分を取り出す
このエントリーをはてなブックマークに追加

tag : javascript php 値渡し 配列 連想配列 array

[javascript]div内の要素を切り替える処理

2つのdivをaタグやbuttonなどのonclickで入れ替える処理です。
使い道としては要素を閉じたり開いたりするような処理に使います。

//div1とdiv2をリンクを押すことで切り替える

<a onclick="document.getElementById('div2').style.display='block';
document.getElementById('div1').style.display='none'">
開く
</a>




参考URL:HTML中に置く表示/非表示切り替えdivブロック
このエントリーをはてなブックマークに追加

tag : javascript div ブロック 閉じる 開く open close 切り替え 入れ替え button

Translation


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。
プロフィール

チーズくん

Author:チーズくん
個人的メモをただ羅列しています。
twitter:@cheese1038

バロメーター
最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。