jQuery学習編のクリックでcheckbox背景画像を切り替えます

1852 ワード

画像の背景は白でチェックされていない状態を表し、背景は青でチェックされた状態を表す.パスワードの選択ボックスを覚える
まず、THML:checkboxのデフォルトはチェック状態です.

 



cssスタイルも学びましょう.
.check{
  text-align:right;
  font-size:24px;
  height:50px;
  width:150px;
  background:url(img/btn_1.png) left center no-repeat;
}

.checkbox{
  width:50px;
  height: 50px;
  vertical-align: middle;
  filter:alpha(opacity=0);
  -moz-opacity:0;
  -khtml-opacity: 0;
  opacity: 0;
}

label{
  vertical-align:middle;
}

opacityはcss 3では透明度を制御し、0から100、0テーブルは完全透明、100は完全不透明を表す.
checkboxの透明度を0に設定し、チェックボックスの代わりにバックグラウンドピクチャを使用すると、チェックボックス付きピクチャの効果が得られます.デフォルトはパスワードを覚えるチェック状態、btn_1.pngは背景が青いチェック画像です.注目すべきは、inputラベルとlabelラベルを同時にvertical-align:middle;を選択します.
次に、クリックしてcheckboxバックグラウンドピクチャを切り替える効果を実現します.
1.9以降のjQueryのtoggle()メソッドは、直接切り替えることができます.
toggle(objs) {
  $(objs).each(function(){
      if($(this).is(':hidden')) $(this).show();else$(this).hide();
    });
}



ただし、jQuery 1.9以降はこのメソッドが削除されているため、元のjavascriptで実現できます.具体的なコードは以下の通りです.
$(document).ready(function(){
  varflag = 1;
  $(".check").click(function(){
    if(flag == 1){
    $(".check").css("background","url(img/btn_1.png) left center no-repeat");
    flag= 0;
    }else{
      $(".check").css("background","url(img/btn_2.png) left center no-repeat");
      flag= 1;
    }

  });
});

ここでbtn_2.pngは背景が白いチェックされていない画像です.
これで、チェックボックスをクリックすると、背景画像の任意の切り替えが可能になります