【javascript】スマホで縦スクロール禁止

javascript の記述
---------------------------------------
//touchmove の縦スクロールを禁止
document.body.addEventListener( 'touchmove', function(e){
e.preventDefault();
});
---------------------------------------

jQuery の場合
---------------------------------------
// スクロール禁止
$(window).on('touchmove.noScroll', function(e) {
e.preventDefault();
});

// スクロール禁止 解除
$(window).off('.noScroll');
---------------------------------------
※.noScroll は解除するためにつけた名前

参考ページ

http://qiita.com/kokushin/items/ef96194bd0fa7c145d7b

PHPの配列をjavascriptに渡す

PHPの配列をjavascriptに渡す場合は、いったんjson形式に変換するといい。

スクリプト例 ここから
--------------------------------------------------------
<?php

$hairetu = array('りんご', 'もも', 'なし');

//配列をJavaScriptに渡すために一度jsonに変換
$jsonTest=json_encode($hairetu);

?>

<html>
<head>
<title>タイトル</title>
</head>

<body>
<script type="text/javascript">

//JSON.parseを使って配列を受け取る
var test=JSON.parse('<?php echo $jsonTest; ?>');

for (var i = 0; i < test.length; i++) {

alert(test[i]);

}

</script>

</body>
</html>

--------------------------------------------------------
ここまで

参考サイト

http://future-software-labo.anyagent.net/php%E3%81%8B%E3%82%89javascript%E3%81%AB%E9%85%8D%E5%88%97%E3%82%92%E6%B8%A1%E3%81%99/

javascriptファイルが外部ファイルの場合

PHPファイル
--------------------------------------------------------
//カスタムデータ属性にjson形式の配列をセット
<script id="script" src="js/script.js" data-json-test ='<?php echo json_encode($hairetu)?>'></script>
--------------------------------------------------------

javascriptファイル

script.js(外部ファイル)
--------------------------------------------------------
//jQueryを利用してカスタムデータ属性にアクセス
var $script = $('#script');
var test = JSON.parse($script.attr('data-json-test'));
--------------------------------------------------------

参考サイト

http://qiita.com/cither/items/b98cc4e237dcc8f7e51f

http://dresscording.com/blog/html5/custom_data_attribute.html

【PHP】ディレクトリ内のファイル名だけの一覧を取得

<??php
// ディレクトリのパスを記述
$dir = "dragon_ball1";

// ディレクトリの存在を確認し、ハンドルを取得
if(is_dir($dir) && $handle = opendir($dir)) {

// ループ処理
while(($file = readdir($handle)) !== false) {
//$path = $dir . $file;
// ファイルのみ取得
if(filetype($dir . "/" . $file) == "file") {
/********************

各ファイルへの処理

$file ファイル名
$path ファイルのパス

********************/

// ファイル名を出力する
echo $file . "
";

}
}

} else {

echo "ディレクトリがない";

}
?>

参考サイト(このサイトのをほぼそのままコピーした)

http://webkaru.net/php/function-filetype/

【javascript】touchendでうまく座標が取れない件

iOS の safari において touchend で取得した座標を alert で表示するとうまく座標を表示できない事象が発生。

原因不明でバグのような気がするが、次のように対処できる。

------------------------------
alert('座標:' + touchX);
------------------------------

↓↓↓

------------------------------
setTimeout(function(){ alert('座標:' + touchX); }, 0);
------------------------------

参考ページ:

http://gomojp.blog77.fc2.com/blog-entry-144.html