icheck.init.js 3.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. function icheckfirstinit() {
  2. if (!$().iCheck) {
  3. return;
  4. }
  5. $('.check').each(function() {
  6. var ck = $(this).attr('data-checkbox') ? $(this).attr('data-checkbox') : 'icheckbox_minimal-red';
  7. var rd = $(this).attr('data-radio') ? $(this).attr('data-radio') : 'iradio_minimal-red';
  8. if (ck.indexOf('_line') > -1 || rd.indexOf('_line') > -1) {
  9. $(this).iCheck({
  10. checkboxClass: ck,
  11. radioClass: rd,
  12. insert: '<div class="icheck_line-icon"></div>' + $(this).attr("data-label")
  13. });
  14. } else {
  15. $(this).iCheck({
  16. checkboxClass: ck,
  17. radioClass: rd
  18. });
  19. }
  20. });
  21. $('.skin-polaris input').iCheck({
  22. checkboxClass: 'icheckbox_polaris',
  23. radioClass: 'iradio_polaris'
  24. });
  25. $('.skin-futurico input').iCheck({
  26. checkboxClass: 'icheckbox_futurico',
  27. radioClass: 'iradio_futurico'
  28. });
  29. };
  30. var iCheckcontrol = function () {
  31. return {
  32. init: function () {
  33. $('.icolors li').click(function() {
  34. var self = $(this);
  35. if (!self.hasClass('active')) {
  36. self.siblings().removeClass('active');
  37. var skin = self.closest('.skin'),
  38. c = self.attr('class') ? '-' + self.attr('class') : '',
  39. ct = skin.data('color') ? '-' + skin.data('color') : '-red',
  40. ct = (ct === '-black' ? '' : ct);
  41. checkbox_default = 'icheckbox_minimal',
  42. radio_default = 'iradio_minimal',
  43. checkbox = 'icheckbox_minimal' + ct,
  44. radio = 'iradio_minimal' + ct;
  45. if (skin.hasClass('skin-square')) {
  46. checkbox_default = 'icheckbox_square';
  47. radio_default = 'iradio_square';
  48. checkbox = 'icheckbox_square' + ct;
  49. radio = 'iradio_square' + ct;
  50. };
  51. if (skin.hasClass('skin-flat')) {
  52. checkbox_default = 'icheckbox_flat';
  53. radio_default = 'iradio_flat';
  54. checkbox = 'icheckbox_flat' + ct;
  55. radio = 'iradio_flat' + ct;
  56. };
  57. if (skin.hasClass('skin-line')) {
  58. checkbox_default = 'icheckbox_line';
  59. radio_default = 'iradio_line';
  60. checkbox = 'icheckbox_line' + ct;
  61. radio = 'iradio_line' + ct;
  62. };
  63. skin.find('.check').each(function() {
  64. var e = $(this).hasClass('state') ? $(this) : $(this).parent();
  65. var e_c = e.attr('class').replace(checkbox, checkbox_default + c).replace(radio, radio_default + c);
  66. e.attr('class', e_c);
  67. });
  68. skin.data('color', self.attr('class') ? self.attr('class') : 'black');
  69. self.addClass('active');
  70. };
  71. });
  72. }
  73. };
  74. }();
  75. $(document).ready(function() {
  76. icheckfirstinit();
  77. iCheckcontrol.init();
  78. });