jquery.csslater.coffee 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. jQuery.fn.readdClass = (class_name) ->
  2. elem = @
  3. elem.removeClass class_name
  4. setTimeout ( ->
  5. elem.addClass class_name
  6. ), 1
  7. return @
  8. jQuery.fn.removeLater = (time = 500) ->
  9. elem = @
  10. setTimeout ( ->
  11. elem.remove()
  12. ), time
  13. return @
  14. jQuery.fn.hideLater = (time = 500) ->
  15. @.cssLater("display", "none", time)
  16. return @
  17. jQuery.fn.addClassLater = (class_name, time=5, mode="clear") ->
  18. elem = @
  19. elem[0].timers ?= {}
  20. timers = elem[0].timers
  21. if timers[class_name] and mode == "clear" then clearInterval(timers[class_name])
  22. timers[class_name] = setTimeout ( ->
  23. elem.addClass(class_name)
  24. ), time
  25. return @
  26. jQuery.fn.removeClassLater = (class_name, time=500, mode="clear") ->
  27. elem = @
  28. elem[0].timers ?= {}
  29. timers = elem[0].timers
  30. if timers[class_name] and mode == "clear" then clearInterval(timers[class_name])
  31. timers[class_name] = setTimeout ( ->
  32. elem.removeClass(class_name)
  33. ), time
  34. return @
  35. jQuery.fn.cssLater = (name, val, time=500, mode="clear") ->
  36. elem = @
  37. elem[0].timers ?= {}
  38. timers = elem[0].timers
  39. if timers[name] and mode == "clear" then clearInterval(timers[name])
  40. if time == "now"
  41. elem.css name, val
  42. else
  43. timers[name] = setTimeout ( ->
  44. elem.css name, val
  45. ), time
  46. return @
  47. jQuery.fn.toggleClassLater = (name, val, time=10, mode="clear") ->
  48. elem = @
  49. elem[0].timers ?= {}
  50. timers = elem[0].timers
  51. if timers[name] and mode == "clear" then clearInterval(timers[name])
  52. timers[name] = setTimeout ( ->
  53. elem.toggleClass name, val
  54. ), time
  55. return @