Guest User

Untitled

a guest
Jun 24th, 2018
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.12 KB | None | 0 0
  1. var col['ui'] =
  2. rotator: {
  3. playing: false,
  4. toolbar: function(settings) {
  5. //TODO: Update to JQuery UI button
  6. function createButton(config) {
  7. var btn = $('<a />') // LinkButton
  8. .attr('href', '#') // + config.label
  9. .attr('rel', config.label) // .addClass(config.label) // old CSS support
  10. .attr('title', config.label)
  11. .append($('<span />')
  12. .addClass('ui-icon ui-icon-' + config.icon)
  13. .html(config.label))
  14. .button()
  15. return btn;
  16. }
  17. var config = {
  18. label: 'next',
  19. icon: 'seek-next'
  20. };
  21. var next = createButton(config);
  22. config.label = 'prev';
  23. config.icon = 'seek-prev';
  24. var prev = createButton(config);
  25. config.label = 'pause';
  26. config.icon = 'pause';
  27. var pause = createButton(config);
  28. config.label = 'play';
  29. config.icon = 'play';
  30. var play = createButton(config);
  31. var bar = $('<ul />')
  32. .addClass('ui-rotator-nav ui-tabs-nav ui-helper-reset ui-helper-clearfix')
  33. .append(prev)
  34. .append(play)
  35. .append(pause)
  36. .append(next);
  37. $(bar).find('a[rel]').wrap('<li></li>');
  38. return bar;
  39. },
  40.  
  41. defaults: {
  42. delay: 2000,
  43. autoStart: true,
  44. showTabs: true,
  45. showControls: true,
  46. id: "ui-rotator"
  47. },
  48. init: function(tabs, settings) {
  49. $root = $(tabs);
  50. var config = jQuery.extend({}, col.ui.rotator.defaults, settings);
  51. $root
  52. .data('rotator', config)
  53. //Add Event Handlers
  54. .bind('rotatorplay', function(event, ui) {
  55. colui.rotator.play(event.target, config.delay);
  56. return false;
  57. })
  58. .bind('rotatorpause', function(event, ui) {
  59. colui.rotator.pause(event.target);
  60. })
  61. .bind('rotatornext', function(event, ui) {
  62. colui.rotator.next(event.target);
  63. })
  64. .bind('rotatorprev', function(event, ui) {
  65. colui.rotator.prev(event.target);
  66. })
  67. //init control events
  68. .append(colui.rotator.toolbar({})).andSelf()
  69. .find('a[rel=prev]').bind('click', function(e) {
  70. $root.triggerHandler('rotatorprev');
  71. return false;
  72. }).click(function() { return false; }).andSelf()
  73. .find('a[rel=next]').bind('click', function(e) {
  74. $root.triggerHandler('rotatornext');
  75. }).andSelf()
  76. .find('a[rel=play]').bind('click', function(e) {
  77. $root.triggerHandler('rotatorplay');
  78. }).andSelf()
  79. .find('a[rel=pause]').bind('click', function(e) {
  80. $root.triggerHandler('rotatorpause');
  81. }).andSelf()
  82. ;
  83. //auto play
  84. if (config.autoStart) { $root.trigger('rotatorplay', config.delay); }
  85.  
  86. },
  87. play: function(target, delay) {
  88. var $root = $(target);
  89. $root.tabs('rotate', delay).addClass('ui-state-playing');
  90. },
  91. pause: function(target) {
  92. var $root = $(target);
  93. $root.tabs('rotate', 0).removeClass('ui-state-playing');
  94. },
  95. prev: function(target) {
  96. var $root = $(target);
  97. var i = colUtil.loopToIndex($root.tabs('option', 'selected'), -1, $root.tabs('length'));
  98. $root.tabs('option', 'selected', i);
  99. },
  100. next: function(target) {
  101. var $root = $(target);
  102. var i = colUtil.loopToIndex($root.tabs('option', 'selected'), 1, $root.tabs('length'));
  103. $root.tabs('option', 'selected', i);
  104. }
Add Comment
Please, Sign In to add comment