US/121 fix multi click animation
parent
3de9eff593
commit
71c336f144
|
@ -17,19 +17,19 @@ module.controller("ProjectController", ProjectController)
|
||||||
|
|
||||||
ProjectsPaginationDirective = () ->
|
ProjectsPaginationDirective = () ->
|
||||||
itemsPerPage = 7
|
itemsPerPage = 7
|
||||||
nextPage = (element, pageSize) ->
|
nextPage = (element, pageSize, callback) ->
|
||||||
top = parseInt(element.css('top'), 10)
|
top = parseInt(element.css('top'), 10)
|
||||||
newTop = top - pageSize
|
newTop = top - pageSize
|
||||||
|
|
||||||
element.animate({"top": newTop});
|
element.animate({"top": newTop}, callback);
|
||||||
|
|
||||||
return newTop
|
return newTop
|
||||||
|
|
||||||
prevPage = (element, pageSize) ->
|
prevPage = (element, pageSize, callback) ->
|
||||||
top = parseInt(element.css('top'), 10)
|
top = parseInt(element.css('top'), 10)
|
||||||
newTop = top + pageSize
|
newTop = top + pageSize
|
||||||
|
|
||||||
element.animate({"top": newTop});
|
element.animate({"top": newTop}, callback);
|
||||||
|
|
||||||
return newTop
|
return newTop
|
||||||
|
|
||||||
|
@ -45,21 +45,37 @@ ProjectsPaginationDirective = () ->
|
||||||
container = $el.find("ul")
|
container = $el.find("ul")
|
||||||
pageSize = $el.find(".pagination-list").height()
|
pageSize = $el.find(".pagination-list").height()
|
||||||
containerSize = 0
|
containerSize = 0
|
||||||
|
animationInProgess = false
|
||||||
|
|
||||||
|
animationEnd = () ->
|
||||||
|
animationInProgess = false
|
||||||
|
|
||||||
prevBtn.on "click", (event) ->
|
prevBtn.on "click", (event) ->
|
||||||
event.preventDefault()
|
event.preventDefault()
|
||||||
|
|
||||||
|
if animationInProgess
|
||||||
|
return
|
||||||
|
|
||||||
|
animationInProgess = true
|
||||||
visible(nextBtn)
|
visible(nextBtn)
|
||||||
|
|
||||||
if -prevPage(container, pageSize) == 0
|
newTop = prevPage(container, pageSize, animationEnd)
|
||||||
|
|
||||||
|
if newTop == 0
|
||||||
hide(prevBtn)
|
hide(prevBtn)
|
||||||
|
|
||||||
nextBtn.on "click", (event) ->
|
nextBtn.on "click", (event) ->
|
||||||
event.preventDefault()
|
event.preventDefault()
|
||||||
|
|
||||||
|
if animationInProgess
|
||||||
|
return
|
||||||
|
|
||||||
|
animationInProgess = true
|
||||||
visible(prevBtn)
|
visible(prevBtn)
|
||||||
|
|
||||||
if -nextPage(container, pageSize) + pageSize > containerSize
|
newTop = nextPage(container, pageSize, animationEnd)
|
||||||
|
|
||||||
|
if -newTop + pageSize > containerSize
|
||||||
hide(nextBtn)
|
hide(nextBtn)
|
||||||
|
|
||||||
$scope.$watch 'ctrl.projects', () ->
|
$scope.$watch 'ctrl.projects', () ->
|
||||||
|
|
Loading…
Reference in New Issue