/* Totem Ticker Plugin Copyright (c) 2011 Zach Dunn / www.buildinternet.com Released under MIT License -------------------------- Structure based on Doug Neiner's jQuery plugin blueprint: http://starter.pixelgraphics.us/ */ (function( $ ){ if(!$.omr){ $.omr = new Object(); }; $.omr.totemticker = function(el, options ) { var base = this; //Define the DOM elements base.el = el; base.$el = $(el); // Add a reverse reference to the DOM object base.$el.data("omr.totemticker", base); base.init = function(){ base.options = $.extend({},$.omr.totemticker.defaultOptions, options); //Define the ticker object base.ticker; //Adjust the height of ticker if specified base.format_ticker(); //Setup navigation links (if specified) base.setup_nav(); //Start the ticker base.start_interval(); //Debugging info in console //base.debug_info(); }; base.start_interval = function(){ //Clear out any existing interval clearInterval(base.ticker); base.ticker = setInterval(function() { base.$el.find('li:first').animate({ marginTop: '-' + base.options.row_height, }, base.options.speed, function() { $(this).detach().css('marginTop', '0').appendTo(base.$el); }); }, base.options.interval); } base.reset_interval = function(){ clearInterval(base.ticker); base.start_interval(); } base.stop_interval = function(){ clearInterval(base.ticker); } base.format_ticker = function(){ if(typeof(base.options.max_items) != "undefined" && base.options.max_items != null) { //Remove units of measurement (Should expand to cover EM and % later) var stripped_height = base.options.row_height.replace(/px/i, ''); var ticker_height = stripped_height * base.options.max_items; base.$el.css({ height : ticker_height + 'px', overflow : 'hidden', }); }else{ //No heights were specified, so just doublecheck overflow = hidden base.$el.css({ overflow : 'hidden', }) } } base.setup_nav = function(){ //Stop Button if (typeof(base.options.stop) != "undefined" && base.options.stop != null){ $(base.options.stop).click(function(){ base.stop_interval(); return false; }); } //Start Button if (typeof(base.options.start) != "undefined" && base.options.start != null){ $(base.options.start).click(function(){ base.start_interval(); return false; }); } //Previous Button if (typeof(base.options.previous) != "undefined" && base.options.previous != null){ $(base.options.previous).click(function(){ base.$el.find('li:last').detach().prependTo(base.$el).css('marginTop', '-' + base.options.row_height); base.$el.find('li:first').animate({ marginTop: '0px', }, base.options.speed, function () { base.reset_interval(); }); return false; }); } //Next Button if (typeof(base.options.next) != "undefined" && base.options.next != null){ $(base.options.next).click(function(){ base.$el.find('li:first').animate({ marginTop: '-' + base.options.row_height, }, base.options.speed, function() { $(this).detach().css('marginTop', '0px').appendTo(base.$el); base.reset_interval(); }); return false; }); } //Stop on mouse hover if (typeof(base.options.mousestop) != "undefined" && base.options.mousestop === true) { base.$el.mouseenter(function(){ base.stop_interval(); }).mouseleave(function(){ base.start_interval(); }); } /* TO DO List ---------------- Add a continuous scrolling mode */ } base.debug_info = function() { //Dump options into console console.log(base.options); } //Make it go! base.init(); }; $.omr.totemticker.defaultOptions = { message : 'Ticker Loaded', /* Disregard */ next : null, /* ID of next button or link */ previous : null, /* ID of previous button or link */ stop : null, /* ID of stop button or link */ start : null, /* ID of start button or link */ row_height : '100px', /* Height of each ticker row in PX. Should be uniform. */ speed : 800, /* Speed of transition animation in milliseconds */ interval : 4000, /* Time between change in milliseconds */ max_items : null, /* Integer for how many items to display at once. Resizes height accordingly (OPTIONAL) */ }; $.fn.totemticker = function( options ){ return this.each(function(){ (new $.omr.totemticker(this, options)); }); }; })( jQuery );live dealer roulette online bonus buy games glory of rome pragmatic play live streaming poker glory casino live baccarat strategy scommesse ippiche sport in tempo reale queens of glory legacy video game sea of treasures christmas video game air jet slot 3 carts of gold hold and win slot word of thoth bonus buy games 108 heroes water margin video game crash evolution single player demo slot terlengkap habanero pragmatic microvip88 sga bonus buy games salmon king live casino with payment flexibility slot caesars legions summer ways ug slot login betting site reviews slot trout s treasure payday vegas chase n win bonus buy games the tumbles bonus buy games fire portals bonus buy games cursed can bonus buy OK sport