Posted on

jQueryでonメソッドを使って解決

最近、jQueryでブラウザの現在のウィンドウ幅を取得して処理を行うプログラムを書く機会がありました。まだjQueryに慣れていない私ですが、調べてみると「resize」というイベントを使うことで実現できそうだとわかりました。

$(window).resize(function() {
    // 処理....
});

でも、実際に書いてみると動いてくれません。なぜ・・と、さらに調べると、onメソッドとあわせて使う書き方を見つけました。実際に書いてみると、

$(window).on('resize', function () {
    // 処理....
}

これでちゃんと動きました。そう言えば前やってたプロジェクトでも同じようなところで詰まったことを思い出しました。動的に生成した要素に対してイベント適用する場合には、onメソッドを使わないと動かないとか。今回のウィンドウ幅取得もこれに関係しているのでしょうか。備忘録の意味も含め前やった所も書いておきます。

○クリックされた時に発生するイベント

$(document).on("click", function(){
    // 処理....
}

○キー押下されたあと上がった時に発生するイベント

$(document).on('keyup', function(){
    // 処理....
}

○セレクト等、指定要素の値が変更された際に発生するイベント

$("#QuestionItem").on('change',function(){
    // 処理....
}

onメソッドを使うと、何かと解決されスッキリすることが多いです。しっかり勉強して、onメソッドを使いこなせるようになりたいと思います。

Posted on

PHPのfloor関数で痛い目に合う

PHPのfloor関数で痛い目に合ったのでメモしておきます。

お客さんから連絡がありシステムででの計算の結果がおかしいとのことで調べるとfloor関数を使った後に結果がずれてきていました。
何でやと調べると意外と有名な話だった・・・
浮動小数点の精度が微妙と本家で警告が出ている。http://php.net/manual/ja/language.types.float.php

echo floor((0.1+0.7)*10);を実行すると8になってほしいのに7になってしまうというお話。
一番簡単な対策としてecho floor((string)(0.1+0.7)*10);として回避しておきました。

Posted on

HighchartsのStacked barの縦軸に表示内容を増やす方法

ソフトウェア開発でプロジェクトに対して、縦軸プロジェクト名、横軸開発担当の開発合計時間で、
各担当者の開発時間はHighchartのStacked barで表現できるのですが、
トータルの時間や見積価格や単価を出そうとプロジェクト名の表示に追記すると省略表示されてしまいます。
そこで、HighchartのStacked barのプロジェクト名表示情報からx座標とy座標を取り、プロジェクト名の左横に
表示することに成功しました。(ただし、2016/07/14時点のHighchartのStacked barに限られましたらお許しください。)
その参考になるソースを掲載しますので、お役にたてれば幸いです。


	
	
	

	
	

	
aaa
aaa
aaa
aaa
aaa