Skip to content

Commit

Permalink
fix visible动画
Browse files Browse the repository at this point in the history
  • Loading branch information
qitmac000408 authored and qitmac000408 committed Oct 13, 2015
1 parent 445667e commit 974577d
Show file tree
Hide file tree
Showing 14 changed files with 189 additions and 90 deletions.
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
6. 修正include指令在不与动画指令配合使用时,data-include-replace辅助指令失效的BUG
7. fix avalon.modern下的ms-duplex-checked BUG
8. fix ready模块对loader模块的innerRequire的依赖
9. fix ms-visible的动画

#avalon1.5.3(各种奇葩BUG修复及更快的parser)

Expand Down
36 changes: 25 additions & 11 deletions avalon.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
http://weibo.com/jslouvre/
Released under the MIT license
avalon.js 1.5.4 built in 2015.10.12
avalon.js 1.5.4 built in 2015.10.13
support IE6+ and other browsers
==================================================*/
(function(global, factory) {
Expand Down Expand Up @@ -5308,22 +5308,37 @@ avalon.parseDisplay = parseDisplay

avalon.directive("visible", {
init: function (binding) {
effectBinding(binding.element, binding)
},
update: function (val) {
var elem = this.element,
binding = this,
stamp = binding.stamp = +new Date()
var binding = this, elem = this.element, stamp
var noEffect = !this.effectName
if (!this.stamp) {
stamp = this.stamp = +new Date
if (val) {
elem.style.display = binding.display || ""
if (avalon(elem).css("display") === "none") {
elem.style.display = binding.display = parseDisplay(elem.nodeName)
}
} else {
elem.style.display = "none"
}
return
}
stamp = this.stamp = +new Date
if (val) {
elem.style.display = "none"
avalon.effect.apply(elem, 1, function () {
if (stamp !== binding.stamp)
return
var data = elem.getAttribute("data-effect-driver") || "a"
if (/^[atn]/.test(data)) {
if (!this.effectName)
elem.style.display = ""//这里jQuery会自动处理
var driver = elem.getAttribute("data-effect-driver") || "a"

if (noEffect) {//不用动画时走这里
elem.style.display = binding.display || ""
}
// "a", "t"
if (driver === "a" || driver === "t") {
if (avalon(elem).css("display") === "none") {
elem.style.display = parseDisplay(elem.nodeName)
elem.style.display = binding.display || parseDisplay(elem.nodeName)
}
}
})
Expand All @@ -5333,7 +5348,6 @@ avalon.directive("visible", {
return
elem.style.display = "none"
})

}
}
})
Expand Down
36 changes: 25 additions & 11 deletions dist/avalon.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
http://weibo.com/jslouvre/
Released under the MIT license
avalon.js 1.5.4 built in 2015.10.12
avalon.js 1.5.4 built in 2015.10.13
support IE6+ and other browsers
==================================================*/
(function(global, factory) {
Expand Down Expand Up @@ -5308,22 +5308,37 @@ avalon.parseDisplay = parseDisplay

avalon.directive("visible", {
init: function (binding) {
effectBinding(binding.element, binding)
},
update: function (val) {
var elem = this.element,
binding = this,
stamp = binding.stamp = +new Date()
var binding = this, elem = this.element, stamp
var noEffect = !this.effectName
if (!this.stamp) {
stamp = this.stamp = +new Date
if (val) {
elem.style.display = binding.display || ""
if (avalon(elem).css("display") === "none") {
elem.style.display = binding.display = parseDisplay(elem.nodeName)
}
} else {
elem.style.display = "none"
}
return
}
stamp = this.stamp = +new Date
if (val) {
elem.style.display = "none"
avalon.effect.apply(elem, 1, function () {
if (stamp !== binding.stamp)
return
var data = elem.getAttribute("data-effect-driver") || "a"
if (/^[atn]/.test(data)) {
if (!this.effectName)
elem.style.display = ""//这里jQuery会自动处理
var driver = elem.getAttribute("data-effect-driver") || "a"

if (noEffect) {//不用动画时走这里
elem.style.display = binding.display || ""
}
// "a", "t"
if (driver === "a" || driver === "t") {
if (avalon(elem).css("display") === "none") {
elem.style.display = parseDisplay(elem.nodeName)
elem.style.display = binding.display || parseDisplay(elem.nodeName)
}
}
})
Expand All @@ -5333,7 +5348,6 @@ avalon.directive("visible", {
return
elem.style.display = "none"
})

}
}
})
Expand Down
2 changes: 1 addition & 1 deletion dist/avalon.min.js

Large diffs are not rendered by default.

36 changes: 25 additions & 11 deletions dist/avalon.mobile.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
http://weibo.com/jslouvre/
Released under the MIT license
avalon.mobile.js 1.5.4 built in 2015.10.12
avalon.mobile.js 1.5.4 built in 2015.10.13
mobile
==================================================*/
(function(global, factory) {
Expand Down Expand Up @@ -4603,22 +4603,37 @@ avalon.parseDisplay = parseDisplay

avalon.directive("visible", {
init: function (binding) {
effectBinding(binding.element, binding)
},
update: function (val) {
var elem = this.element,
binding = this,
stamp = binding.stamp = +new Date()
var binding = this, elem = this.element, stamp
var noEffect = !this.effectName
if (!this.stamp) {
stamp = this.stamp = +new Date
if (val) {
elem.style.display = binding.display || ""
if (avalon(elem).css("display") === "none") {
elem.style.display = binding.display = parseDisplay(elem.nodeName)
}
} else {
elem.style.display = "none"
}
return
}
stamp = this.stamp = +new Date
if (val) {
elem.style.display = "none"
avalon.effect.apply(elem, 1, function () {
if (stamp !== binding.stamp)
return
var data = elem.getAttribute("data-effect-driver") || "a"
if (/^[atn]/.test(data)) {
if (!this.effectName)
elem.style.display = ""//这里jQuery会自动处理
var driver = elem.getAttribute("data-effect-driver") || "a"

if (noEffect) {//不用动画时走这里
elem.style.display = binding.display || ""
}
// "a", "t"
if (driver === "a" || driver === "t") {
if (avalon(elem).css("display") === "none") {
elem.style.display = parseDisplay(elem.nodeName)
elem.style.display = binding.display || parseDisplay(elem.nodeName)
}
}
})
Expand All @@ -4628,7 +4643,6 @@ avalon.directive("visible", {
return
elem.style.display = "none"
})

}
}
})
Expand Down
6 changes: 3 additions & 3 deletions dist/avalon.mobile.min.js

Large diffs are not rendered by default.

36 changes: 25 additions & 11 deletions dist/avalon.mobile.shim.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
http://weibo.com/jslouvre/
Released under the MIT license
avalon.mobile.shim.js 1.5.4 built in 2015.10.12
avalon.mobile.shim.js 1.5.4 built in 2015.10.13
mobile
==================================================*/
(function(global, factory) {
Expand Down Expand Up @@ -4603,22 +4603,37 @@ avalon.parseDisplay = parseDisplay

avalon.directive("visible", {
init: function (binding) {
effectBinding(binding.element, binding)
},
update: function (val) {
var elem = this.element,
binding = this,
stamp = binding.stamp = +new Date()
var binding = this, elem = this.element, stamp
var noEffect = !this.effectName
if (!this.stamp) {
stamp = this.stamp = +new Date
if (val) {
elem.style.display = binding.display || ""
if (avalon(elem).css("display") === "none") {
elem.style.display = binding.display = parseDisplay(elem.nodeName)
}
} else {
elem.style.display = "none"
}
return
}
stamp = this.stamp = +new Date
if (val) {
elem.style.display = "none"
avalon.effect.apply(elem, 1, function () {
if (stamp !== binding.stamp)
return
var data = elem.getAttribute("data-effect-driver") || "a"
if (/^[atn]/.test(data)) {
if (!this.effectName)
elem.style.display = ""//这里jQuery会自动处理
var driver = elem.getAttribute("data-effect-driver") || "a"

if (noEffect) {//不用动画时走这里
elem.style.display = binding.display || ""
}
// "a", "t"
if (driver === "a" || driver === "t") {
if (avalon(elem).css("display") === "none") {
elem.style.display = parseDisplay(elem.nodeName)
elem.style.display = binding.display || parseDisplay(elem.nodeName)
}
}
})
Expand All @@ -4628,7 +4643,6 @@ avalon.directive("visible", {
return
elem.style.display = "none"
})

}
}
})
Expand Down
6 changes: 3 additions & 3 deletions dist/avalon.mobile.shim.min.js

Large diffs are not rendered by default.

36 changes: 25 additions & 11 deletions dist/avalon.modern.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
http://weibo.com/jslouvre/
Released under the MIT license
avalon.modern.js 1.5.4 built in 2015.10.12
avalon.modern.js 1.5.4 built in 2015.10.13
support IE10+ and other browsers
==================================================*/
(function(global, factory) {
Expand Down Expand Up @@ -4603,22 +4603,37 @@ avalon.parseDisplay = parseDisplay

avalon.directive("visible", {
init: function (binding) {
effectBinding(binding.element, binding)
},
update: function (val) {
var elem = this.element,
binding = this,
stamp = binding.stamp = +new Date()
var binding = this, elem = this.element, stamp
var noEffect = !this.effectName
if (!this.stamp) {
stamp = this.stamp = +new Date
if (val) {
elem.style.display = binding.display || ""
if (avalon(elem).css("display") === "none") {
elem.style.display = binding.display = parseDisplay(elem.nodeName)
}
} else {
elem.style.display = "none"
}
return
}
stamp = this.stamp = +new Date
if (val) {
elem.style.display = "none"
avalon.effect.apply(elem, 1, function () {
if (stamp !== binding.stamp)
return
var data = elem.getAttribute("data-effect-driver") || "a"
if (/^[atn]/.test(data)) {
if (!this.effectName)
elem.style.display = ""//这里jQuery会自动处理
var driver = elem.getAttribute("data-effect-driver") || "a"

if (noEffect) {//不用动画时走这里
elem.style.display = binding.display || ""
}
// "a", "t"
if (driver === "a" || driver === "t") {
if (avalon(elem).css("display") === "none") {
elem.style.display = parseDisplay(elem.nodeName)
elem.style.display = binding.display || parseDisplay(elem.nodeName)
}
}
})
Expand All @@ -4628,7 +4643,6 @@ avalon.directive("visible", {
return
elem.style.display = "none"
})

}
}
})
Expand Down
6 changes: 3 additions & 3 deletions dist/avalon.modern.min.js

Large diffs are not rendered by default.

36 changes: 25 additions & 11 deletions dist/avalon.modern.shim.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
http://weibo.com/jslouvre/
Released under the MIT license
avalon.modern.shim.js 1.5.4 built in 2015.10.12
avalon.modern.shim.js 1.5.4 built in 2015.10.13
support IE10+ and other browsers
==================================================*/
(function(global, factory) {
Expand Down Expand Up @@ -4603,22 +4603,37 @@ avalon.parseDisplay = parseDisplay

avalon.directive("visible", {
init: function (binding) {
effectBinding(binding.element, binding)
},
update: function (val) {
var elem = this.element,
binding = this,
stamp = binding.stamp = +new Date()
var binding = this, elem = this.element, stamp
var noEffect = !this.effectName
if (!this.stamp) {
stamp = this.stamp = +new Date
if (val) {
elem.style.display = binding.display || ""
if (avalon(elem).css("display") === "none") {
elem.style.display = binding.display = parseDisplay(elem.nodeName)
}
} else {
elem.style.display = "none"
}
return
}
stamp = this.stamp = +new Date
if (val) {
elem.style.display = "none"
avalon.effect.apply(elem, 1, function () {
if (stamp !== binding.stamp)
return
var data = elem.getAttribute("data-effect-driver") || "a"
if (/^[atn]/.test(data)) {
if (!this.effectName)
elem.style.display = ""//这里jQuery会自动处理
var driver = elem.getAttribute("data-effect-driver") || "a"

if (noEffect) {//不用动画时走这里
elem.style.display = binding.display || ""
}
// "a", "t"
if (driver === "a" || driver === "t") {
if (avalon(elem).css("display") === "none") {
elem.style.display = parseDisplay(elem.nodeName)
elem.style.display = binding.display || parseDisplay(elem.nodeName)
}
}
})
Expand All @@ -4628,7 +4643,6 @@ avalon.directive("visible", {
return
elem.style.display = "none"
})

}
}
})
Expand Down
4 changes: 2 additions & 2 deletions dist/avalon.modern.shim.min.js

Large diffs are not rendered by default.

Loading

0 comments on commit 974577d

Please sign in to comment.