2016年2月24日水曜日

JQuery の function($) $(function()


JQuery のfunction($)   $(function() は見ただけでは、良く分かりません。
個人的に、しばらく悩まされましたので、調べた結果を共有します。

1、実行タイミング
2、定義内容の使用スコープ

上記の2点をまとめました。


■(function($){})(jQuery) は、

  "$" をjquery として使用することを保証する形。
  読み込み時に実行されます。定義内容のスコープは、定義内部だけ。
  一般的に、
  $.fn.method=function()
  の形で、新なmethodが定義され、このメソッドはjQueryメソッドとして使えます。
  例えば、$(セレクター2).method()

■$(function() は、
  HTMLのロードが終了したとき、実行されます。
  定義内容のスコープは、定義内部だけ。


■参考情報

jQueryを使う場合には、必ず、初めに、
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
を読み込みます。
この時点で、jQueryオブジェクトを使えるようになります。
次に、jQueryオブジェクトに新たに、プラグインを加えていきます。
その時に、読み込みと同時に行われる関数が必要となります。
そこで、
(function($){
Var a,b,c・・・
・・・・・・
$.fn.method=function(){
・・・・・・
}
})(jQuery)
を実行し、メソッドを新たに定義します。
HTMLのロードが終了したとき、
$(function(){
        $(セレクター).click(function(){
                $(セレクター2).method();
}
})
という形で、アクションを定義できます。
また、宣言された変数a,b,cはグローバル関数ではなく、(function($){ 関数外部からアクセスすることはできません。


2013年12月29日日曜日

ウェアラブルデバイス

 ウェアラブルデバイスのディスプレイの手法を大きく、二つに分けられる。

 1、非透過的  
 2、透過的  

  非透過的なディスプレイとして、HMDは代表的だろう。HMDは映画などを見て楽しむもので、外部を見る必要性がない。  透過的なものは、Google glass がわかりやすい。外を歩きながら、インターネットを見たりして、情報の検索ができる。 

 それぞれ使用している技術が大きく異なっている。HMDの場合は、小さな液晶画面を光学レンズを使って拡大し、近くに見ると拡大に見える。 Google glassは、ホログラフィー光素子の材料を使用して、人の正面の光を受け入れると同時に、レンズの背面からは、反射する仕組みである。映像をレンズの裏面に写りだし、反射させることによって、目の前に画像を再現させる。

    透過的な素材として、ハーフミラーと、ホログラフィーの方法があるが、性質上、ホログラフィーは映像をはっきりと浮かせる。

Google ガラス

iPhoneの次は、何か?ウェアラブルなデバイスなのか?確かにGoogleガラスが格好よいが、本当に便利に使えるかは、疑問にも思う。今のiPhone でもかなり十分な機能を揃っているのに、さらに写真を撮って、朝から晩までにウェブへアクセスする必要があるのか? ウェブへのアクセス、多くの情報を公開し、お互いに交流することによって、少し楽しくなるのかなぁ?