浏览代码

made html inline options overridable by javascript init options #319

LostCrew 11 年之前
父节点
当前提交
c5681c4871
共有 3 个文件被更改,包括 6 次插入5 次删除
  1. 3 3
      dist/js/bootstrap-switch.js
  2. 0 0
      dist/js/bootstrap-switch.min.js
  3. 3 2
      src/coffee/bootstrap-switch.coffee

+ 3 - 3
dist/js/bootstrap-switch.js

@@ -31,7 +31,7 @@
           options = {};
           options = {};
         }
         }
         this.$element = $(element);
         this.$element = $(element);
-        this.options = $.extend({}, $.fn.bootstrapSwitch.defaults, options, {
+        this.options = $.extend({}, $.fn.bootstrapSwitch.defaults, {
           state: this.$element.is(":checked"),
           state: this.$element.is(":checked"),
           size: this.$element.data("size"),
           size: this.$element.data("size"),
           animate: this.$element.data("animate"),
           animate: this.$element.data("animate"),
@@ -45,7 +45,7 @@
           labelText: this.$element.data("label-text"),
           labelText: this.$element.data("label-text"),
           baseClass: this.$element.data("base-class"),
           baseClass: this.$element.data("base-class"),
           wrapperClass: this.$element.data("wrapper-class")
           wrapperClass: this.$element.data("wrapper-class")
-        });
+        }, options);
         this.$wrapper = $("<div>", {
         this.$wrapper = $("<div>", {
           "class": (function(_this) {
           "class": (function(_this) {
             return function() {
             return function() {
@@ -429,10 +429,10 @@
               if (_this.isLabelDragged) {
               if (_this.isLabelDragged) {
                 _this.isLabelDragged = false;
                 _this.isLabelDragged = false;
                 _this.state(parseInt(_this.$container.css("margin-left"), 10) > -(_this.$container.width() / 6));
                 _this.state(parseInt(_this.$container.css("margin-left"), 10) > -(_this.$container.width() / 6));
-                _this.$container.css("margin-left", "");
                 if (_this.options.animate) {
                 if (_this.options.animate) {
                   _this.$wrapper.addClass("" + _this.options.baseClass + "-animate");
                   _this.$wrapper.addClass("" + _this.options.baseClass + "-animate");
                 }
                 }
+                _this.$container.css("margin-left", "");
               } else {
               } else {
                 _this.state(!_this.options.state);
                 _this.state(!_this.options.state);
               }
               }

文件差异内容过多而无法显示
+ 0 - 0
dist/js/bootstrap-switch.min.js


+ 3 - 2
src/coffee/bootstrap-switch.coffee

@@ -4,7 +4,7 @@ do ($ = window.jQuery, window) ->
   class BootstrapSwitch
   class BootstrapSwitch
     constructor: (element, options = {}) ->
     constructor: (element, options = {}) ->
       @$element = $ element
       @$element = $ element
-      @options = $.extend {}, $.fn.bootstrapSwitch.defaults, options,
+      @options = $.extend {}, $.fn.bootstrapSwitch.defaults,
         state: @$element.is ":checked"
         state: @$element.is ":checked"
         size: @$element.data "size"
         size: @$element.data "size"
         animate: @$element.data "animate"
         animate: @$element.data "animate"
@@ -18,6 +18,7 @@ do ($ = window.jQuery, window) ->
         labelText: @$element.data "label-text"
         labelText: @$element.data "label-text"
         baseClass: @$element.data "base-class"
         baseClass: @$element.data "base-class"
         wrapperClass: @$element.data "wrapper-class"
         wrapperClass: @$element.data "wrapper-class"
+      , options
       @$wrapper = $ "<div>",
       @$wrapper = $ "<div>",
         class: do =>
         class: do =>
           classes = ["#{@options.baseClass}"].concat @_getClasses @options.wrapperClass
           classes = ["#{@options.baseClass}"].concat @_getClasses @options.wrapperClass
@@ -320,8 +321,8 @@ do ($ = window.jQuery, window) ->
           if @isLabelDragged
           if @isLabelDragged
             @isLabelDragged = false
             @isLabelDragged = false
             @state parseInt(@$container.css("margin-left"), 10) > -(@$container.width() / 6)
             @state parseInt(@$container.css("margin-left"), 10) > -(@$container.width() / 6)
-            @$container.css "margin-left", ""
             @$wrapper.addClass "#{@options.baseClass}-animate" if @options.animate
             @$wrapper.addClass "#{@options.baseClass}-animate" if @options.animate
+            @$container.css "margin-left", ""
           else
           else
             @state not @options.state
             @state not @options.state
           @isLabelDragging = false
           @isLabelDragging = false

部分文件因为文件数量过多而无法显示