类似支付宝选择银行卡的图片单选表单

像支付宝一样,可以点银行卡的图片进行选择,然后有红圈表示已经选中的一款JS特效,分享一下。

看一下效果预览:

[[80493]] 

代码部分:

 
 
 
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
  2. <html xmlns="http://www.w3.org/1999/xhtml"> 
  3. <head> 
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
  5. <title>无标题文档</title> 
  6. <style type="text/css"> 
  7. .bank{background:url(http://js.alixixi.com/UploadPic/2012-6/20126161135670932.jpg); cursor:pointer; width:190px; height:36px; display:inline-block; text-indent:-999em; overflow:hidden; border:1px solid #dfdfdf; vertical-align:middle;}  
  8. .gongshang{ background-position:-275px -204px;}  
  9. .nongye{ background-position:-47px -204px;}  
  10. .checked{ border:1px solid #f76b0c;}  
  11. </style> 
  12.  
  13. </head> 
  14.  
  15. <body> 
  16. <input type="radio" id="gongshang" name="bank" /> <label  id="gongshang_label" for="gongshang" class="bank gongshang">中国工商银行</label> 
  17. <input type="radio" id="nongye" name="bank" /> <label  id="nongye_label" for="nongye" class="bank nongye">中国农业银行</label> 
  18. <script type="text/javascript"> 
  19.  ra = document.getElementsByName('bank');  
  20.  len = ra.length;  
  21.  for(i=0;i<len;i++){  
  22.  ra[i].onclick = function(){  
  23.   la = document.getElementsByTagName('label');  
  24.   len2 = la.length;  
  25.   for(j=0;j<len2;j++){  
  26.    la[j].className = la[j].className.replace('checked','');   
  27.   }  
  28.   var label_id = this.getAttribute('id')+'_label';  
  29.   var label_obj = document.getElementById(label_id);  
  30.   label_obj.className+=" checked";  
  31.   }  
  32. }  
  33.  
  34. </script> 
  35. </body> 
  36. </html> 

原文链接:http://js.alixixi.com/a/2012061681508.shtml

THE END