Ir para conteúdo

Pesquisar na Comunidade

Mostrando resultados para as tags ''como''.

  • Pesquisar por Tags

    Digite tags separadas por vírgulas
  • Pesquisar por Autor

Tipo de Conteúdo


Todas as áreas do Fórum

  • Q&A Desenvolvimento
    • Perguntas e respostas rápidas
  • Desenvolvimento e Banco de Dados
    • HTML e CSS
    • Java
    • Javascript
    • .NET
    • PHP
    • Python
    • Ruby
    • Mobile
    • Ambientes de Desenvolvimento
    • Arquitetura e Métodos Ágeis
    • Banco de Dados
    • DevOps
    • Desenvolvimento de Games
    • E-Commerce e Pagamentos Online
    • SEO e Otimizações
    • WordPress
    • Algoritmos & Outras Tecnologias
  • Design e Produto
    • Fotografia
    • Photoshop
    • Design de interfaces e UX
    • Edição/Produção de Vídeos
    • Marketing Online
    • Desenho, Ilustração e 3D
  • Entretenimento e uso pessoal
    • Geral
    • Segurança & Malwares
    • Gadgets e wearable
    • Softwares e Apps
    • Entretenimento

Encontrar resultados em...

Encontrar resultados que...


Data de Criação

  • Início

    FIM


Data de Atualização

  • Início

    FIM


Filtrar pelo número de...

Data de Registro

  • Início

    FIM


Grupo


Google+


Hangouts


Skype


Twitter


deviantART


Github


Flickr


LinkedIn


Pinterest


Facebook


Site Pessoal


Localização


Interesses

Encontrado 22 registros

  1. Galera preciso da ajuda de vocês, para um programa para a criação de games na plataforma android, de preferencia free, mas se não for possível, pode ser pago mas de preferencia barato.
  2. guilhermevieira

    Como Fazer Root no Android

    Boas pessoal Mais uma vez venho tentar de algum modo vos ajudar e facilitar em alguns problemas que possam ter. Neste tópico não só vos disponibilizo o programa necessário para rotearem o vosso telemóvel, como vos direi algumas vantagens e desvantagens. Para começar: "O que é rotear o telemóvel?" Em sistemas operacionais com base no Unix/Linux, como o Android, o root representa a possibilidade de se utilizar a plataforma como um superadministrador. Isto significa que um aparelho "rooteado" tem acesso total ao sistema, sendo capaz de realizar funções e de acessar aplicativos que não estão disponíveis quando ele está "fechado". VANTAGENS: Remoção de bloatware: Essa é a função mais básica do root, assim é possível fazer a remoção de aplicativos desnecessários pré-instalados de fábrica do aparelho. ROMs alternativas: O sistema operacional do Google é um software livre baseado em Linux, assim, por meio do acesso ao root desenvolvedores de todas as partes do mundo podem ter acesso ao código fonte do sistema para fazer as devidas adaptações. Otimização: Um usuário mais avançado pode fazer modificações no aparelho para que ele possa consumir menos bateria, por exemplo. Na verdade são infinitas as possibilidades quando se tem acesso total a raiz de um sistema operacional. Mas, assim como em tudo na vida, quando se tem liberdades também existe os riscos. DESVANTAGENS: Remoção de aplicativos importantes: Neste caso é preciso ter muita atenção, pois já que temos a liberdade para remover qualquer aplicativo, existe uma possibilidade de que façamos a remoção de um aplicativo raiz importante e isso poderia causar problemas no seu telemóvel. Perda de Garantia: É recomendado que se faça root apenas depois da garantia. Os termos de garantia das fabricantes geralmente prevêem que, em caso de root, o usuário perde a garantia do aparelho. Actualizações dos fabricantes: Na verdade isso não é um risco é uma certeza. Quando um aparelho está com root se torna impossível receber as actualizações dos fabricantes, mas felizmente existe a possibilidade de fazer as actualizações manualmente. Vulnerabilidade: Um outro risco que existe é a possibilidade de um aparelho ser infectado por algum Malware, já que o sistema operacional fica totalmente destravado. Como fazer? Descarreguem o programa que vos disponibilizei Ativar "Depuração de USB" no vosso telemóvel Ligar o cabo USB ao computador Após a identificação automática basta clicar em "root" Espero ter-vos ajudado com este tópico, alguma coisa que necessitem não hesitem em dizer! Caso queiram deixar dicas do que vos faz mais falta e que ainda não está disponibilizado sintam-se à vontade para me dizer!!! MEGA: https://mega.nz/#!E2ZlHLLC CHAVE: !ezUK_krHwuxw4uH8GbLaGRFhCmnU0dlE0_XdJnzrUW4
  3. Pessoal, estou usando o Flipclock para fazer um contador regressivo para um site EM CONSTRUÇÃO. Deu tudo certo, mas ao atualizar a página o contador regressivo reseta. <html> <head> <link rel="stylesheet" href="compiled/flipclock.css"> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> <script src="compiled/flipclock.js"></script> </head> <body> <div class="clock"></div> <div class="message"></div> <script type="text/javascript"> var clock; $(document).ready(function() { var clock; clock = $('.clock').FlipClock({ clockFace: 'DailyCounter', autoStart: false, callbacks: { reset: function() { } } }); clock.setTime(3974400); clock.setCountdown(true); clock.start(); }); </script> </body> </html> /* Base.js, version 1.1a Copyright 2006-2010, Dean Edwards License: http://www.opensource.org/licenses/mit-license.php */ var Base = function() { // dummy }; Base.extend = function(_instance, _static) { // subclass "use strict"; var extend = Base.prototype.extend; // build the prototype Base._prototyping = true; var proto = new this(); extend.call(proto, _instance); proto.base = function() { // call this method from any other method to invoke that method's ancestor }; delete Base._prototyping; // create the wrapper for the constructor function //var constructor = proto.constructor.valueOf(); //-dean var constructor = proto.constructor; var klass = proto.constructor = function() { if (!Base._prototyping) { if (this._constructing || this.constructor == klass) { // instantiation this._constructing = true; constructor.apply(this, arguments); delete this._constructing; } else if (arguments[0] !== null) { // casting return (arguments[0].extend || extend).call(arguments[0], proto); } } }; // build the class interface klass.ancestor = this; klass.extend = this.extend; klass.forEach = this.forEach; klass.implement = this.implement; klass.prototype = proto; klass.toString = this.toString; klass.valueOf = function(type) { //return (type == "object") ? klass : constructor; //-dean return (type == "object") ? klass : constructor.valueOf(); }; extend.call(klass, _static); // class initialisation if (typeof klass.init == "function") klass.init(); return klass; }; Base.prototype = { extend: function(source, value) { if (arguments.length > 1) { // extending with a name/value pair var ancestor = this[source]; if (ancestor && (typeof value == "function") && // overriding a method? // the valueOf() comparison is to avoid circular references (!ancestor.valueOf || ancestor.valueOf() != value.valueOf()) && /\bbase\b/.test(value)) { // get the underlying method var method = value.valueOf(); // override value = function() { var previous = this.base || Base.prototype.base; this.base = ancestor; var returnValue = method.apply(this, arguments); this.base = previous; return returnValue; }; // point to the underlying method value.valueOf = function(type) { return (type == "object") ? value : method; }; value.toString = Base.toString; } this[source] = value; } else if (source) { // extending with an object literal var extend = Base.prototype.extend; // if this object has a customised extend method then use it if (!Base._prototyping && typeof this != "function") { extend = this.extend || extend; } var proto = {toSource: null}; // do the "toString" and other methods manually var hidden = ["constructor", "toString", "valueOf"]; // if we are prototyping then include the constructor var i = Base._prototyping ? 0 : 1; while (key = hidden[i++]) { if (source[key] != proto[key]) { extend.call(this, key, source[key]); } } // copy each of the source object's properties to this object for (var key in source) { if (!proto[key]) extend.call(this, key, source[key]); } } return this; } }; // initialise Base = Base.extend({ constructor: function() { this.extend(arguments[0]); } }, { ancestor: Object, version: "1.1", forEach: function(object, block, context) { for (var key in object) { if (this.prototype[key] === undefined) { block.call(context, object[key], key, object); } } }, implement: function() { for (var i = 0; i < arguments.length; i++) { if (typeof arguments[i] == "function") { // if it's a function, call it arguments[i](this.prototype); } else { // add the interface using the extend method this.prototype.extend(arguments[i]); } } return this; }, toString: function() { return String(this.valueOf()); } }); /*jshint smarttabs:true */ var FlipClock; /** * FlipClock.js * * @author Justin Kimbrell * @copyright 2013 - Objective HTML, LLC * @licesnse http://www.opensource.org/licenses/mit-license.php */ (function($) { "use strict"; /** * FlipFlock Helper * * @param object A jQuery object or CSS select * @param int An integer used to start the clock (no. seconds) * @param object An object of properties to override the default */ FlipClock = function(obj, digit, options) { if(digit instanceof Object && digit instanceof Date === false) { options = digit; digit = 0; } return new FlipClock.Factory(obj, digit, options); }; /** * The global FlipClock.Lang object */ FlipClock.Lang = {}; /** * The Base FlipClock class is used to extend all other FlipFlock * classes. It handles the callbacks and the basic setters/getters * * @param object An object of the default properties * @param object An object of properties to override the default */ FlipClock.Base = Base.extend({ /** * Build Date */ buildDate: '2014-12-12', /** * Version */ version: '0.7.7', /** * Sets the default options * * @param object The default options * @param object The override options */ constructor: function(_default, options) { if(typeof _default !== "object") { _default = {}; } if(typeof options !== "object") { options = {}; } this.setOptions($.extend(true, {}, _default, options)); }, /** * Delegates the callback to the defined method * * @param object The default options * @param object The override options */ callback: function(method) { if(typeof method === "function") { var args = []; for(var x = 1; x <= arguments.length; x++) { if(arguments[x]) { args.push(arguments[x]); } } method.apply(this, args); } }, /** * Log a string into the console if it exists * * @param string The name of the option * @return mixed */ log: function(str) { if(window.console && console.log) { console.log(str); } }, /** * Get an single option value. Returns false if option does not exist * * @param string The name of the option * @return mixed */ getOption: function(index) { if(this[index]) { return this[index]; } return false; }, /** * Get all options * * @return bool */ getOptions: function() { return this; }, /** * Set a single option value * * @param string The name of the option * @param mixed The value of the option */ setOption: function(index, value) { this[index] = value; }, /** * Set a multiple options by passing a JSON object * * @param object The object with the options * @param mixed The value of the option */ setOptions: function(options) { for(var key in options) { if(typeof options[key] !== "undefined") { this.setOption(key, options[key]); } } } }); }(jQuery)); /*jshint smarttabs:true */ /** * FlipClock.js * * @author Justin Kimbrell * @copyright 2013 - Objective HTML, LLC * @licesnse http://www.opensource.org/licenses/mit-license.php */ (function($) { "use strict"; /** * The FlipClock Face class is the base class in which to extend * all other FlockClock.Face classes. * * @param object The parent FlipClock.Factory object * @param object An object of properties to override the default */ FlipClock.Face = FlipClock.Base.extend({ /** * Sets whether or not the clock should start upon instantiation */ autoStart: true, /** * An array of jQuery objects used for the dividers (the colons) */ dividers: [], /** * An array of FlipClock.List objects */ factory: false, /** * An array of FlipClock.List objects */ lists: [], /** * Constructor * * @param object The parent FlipClock.Factory object * @param object An object of properties to override the default */ constructor: function(factory, options) { this.dividers = []; this.lists = []; this.base(options); this.factory = factory; }, /** * Build the clock face */ build: function() { if(this.autoStart) { this.start(); } }, /** * Creates a jQuery object used for the digit divider * * @param mixed The divider label text * @param mixed Set true to exclude the dots in the divider. * If not set, is false. */ createDivider: function(label, css, excludeDots) { if(typeof css == "boolean" || !css) { excludeDots = css; css = label; } var dots = [ '<span class="'+this.factory.classes.dot+' top"></span>', '<span class="'+this.factory.classes.dot+' bottom"></span>' ].join(''); if(excludeDots) { dots = ''; } label = this.factory.localize(label); var html = [ '<span class="'+this.factory.classes.divider+' '+(css ? css : '').toLowerCase()+'">', '<span class="'+this.factory.classes.label+'">'+(label ? label : '')+'</span>', dots, '</span>' ]; var $html = $(html.join('')); this.dividers.push($html); return $html; }, /** * Creates a FlipClock.List object and appends it to the DOM * * @param mixed The digit to select in the list * @param object An object to override the default properties */ createList: function(digit, options) { if(typeof digit === "object") { options = digit; digit = 0; } var obj = new FlipClock.List(this.factory, digit, options); this.lists.push(obj); return obj; }, /** * Triggers when the clock is reset */ reset: function() { this.factory.time = new FlipClock.Time( this.factory, this.factory.original ? Math.round(this.factory.original) : 0, { minimumDigits: this.factory.minimumDigits } ); this.flip(this.factory.original, false); }, /** * Append a newly created list to the clock */ appendDigitToClock: function(obj) { obj.$el.append(false); }, /** * Add a digit to the clock face */ addDigit: function(digit) { var obj = this.createList(digit, { classes: { active: this.factory.classes.active, before: this.factory.classes.before, flip: this.factory.classes.flip } }); this.appendDigitToClock(obj); }, /** * Triggers when the clock is started */ start: function() {}, /** * Triggers when the time on the clock stops */ stop: function() {}, /** * Auto increments/decrements the value of the clock face */ autoIncrement: function() { if(!this.factory.countdown) { this.increment(); } else { this.decrement(); } }, /** * Increments the value of the clock face */ increment: function() { this.factory.time.addSecond(); }, /** * Decrements the value of the clock face */ decrement: function() { if(this.factory.time.getTimeSeconds() == 0) { this.factory.stop() } else { this.factory.time.subSecond(); } }, /** * Triggers when the numbers on the clock flip */ flip: function(time, doNotAddPlayClass) { var t = this; $.each(time, function(i, digit) { var list = t.lists[i]; if(list) { if(!doNotAddPlayClass && digit != list.digit) { list.play(); } list.select(digit); } else { t.addDigit(digit); } }); } }); }(jQuery)); /*jshint smarttabs:true */ /** * FlipClock.js * * @author Justin Kimbrell * @copyright 2013 - Objective HTML, LLC * @licesnse http://www.opensource.org/licenses/mit-license.php */ (function($) { "use strict"; /** * The FlipClock Factory class is used to build the clock and manage * all the public methods. * * @param object A jQuery object or CSS selector used to fetch the wrapping DOM nodes * @param mixed This is the digit used to set the clock. If an object is passed, 0 will be used. * @param object An object of properties to override the default */ FlipClock.Factory = FlipClock.Base.extend({ /** * The clock's animation rate. * * Note, currently this property doesn't do anything. * This property is here to be used in the future to * programmaticaly set the clock's animation speed */ animationRate: 1000, /** * Auto start the clock on page load (True|False) */ autoStart: true, /** * The callback methods */ callbacks: { destroy: false, create: false, init: false, interval: false, start: false, stop: false, reset: false }, /** * The CSS classes */ classes: { active: 'flip-clock-active', before: 'flip-clock-before', divider: 'flip-clock-divider', dot: 'flip-clock-dot', label: 'flip-clock-label', flip: 'flip', play: 'play', wrapper: 'flip-clock-wrapper' }, /** * The name of the clock face class in use */ clockFace: 'HourlyCounter', /** * The name of the clock face class in use */ countdown: false, /** * The name of the default clock face class to use if the defined * clockFace variable is not a valid FlipClock.Face object */ defaultClockFace: 'HourlyCounter', /** * The default language */ defaultLanguage: 'english', /** * The jQuery object */ $el: false, /** * The FlipClock.Face object */ face: true, /** * The language object after it has been loaded */ lang: false, /** * The language being used to display labels (string) */ language: 'english', /** * The minimum digits the clock must have */ minimumDigits: 0, /** * The original starting value of the clock. Used for the reset method. */ original: false, /** * Is the clock running? (True|False) */ running: false, /** * The FlipClock.Time object */ time: false, /** * The FlipClock.Timer object */ timer: false, /** * The jQuery object (depcrecated) */ $wrapper: false, /** * Constructor * * @param object The wrapping jQuery object * @param object Number of seconds used to start the clock * @param object An object override options */ constructor: function(obj, digit, options) { if(!options) { options = {}; } this.lists = []; this.running = false; this.base(options); this.$el = $(obj).addClass(this.classes.wrapper); // Depcrated support of the $wrapper property. this.$wrapper = this.$el; this.original = (digit instanceof Date) ? digit : (digit ? Math.round(digit) : 0); this.time = new FlipClock.Time(this, this.original, { minimumDigits: this.minimumDigits, animationRate: this.animationRate }); this.timer = new FlipClock.Timer(this, options); this.loadLanguage(this.language); this.loadClockFace(this.clockFace, options); if(this.autoStart) { this.start(); } }, /** * Load the FlipClock.Face object * * @param object The name of the FlickClock.Face class * @param object An object override options */ loadClockFace: function(name, options) { var face, suffix = 'Face', hasStopped = false; name = name.ucfirst()+suffix; if(this.face.stop) { this.stop(); hasStopped = true; } this.$el.html(''); this.time.minimumDigits = this.minimumDigits; if(FlipClock[name]) { face = new FlipClock[name](this, options); } else { face = new FlipClock[this.defaultClockFace+suffix](this, options); } face.build(); this.face = face if(hasStopped) { this.start(); } return this.face; }, /** * Load the FlipClock.Lang object * * @param object The name of the language to load */ loadLanguage: function(name) { var lang; if(FlipClock.Lang[name.ucfirst()]) { lang = FlipClock.Lang[name.ucfirst()]; } else if(FlipClock.Lang[name]) { lang = FlipClock.Lang[name]; } else { lang = FlipClock.Lang[this.defaultLanguage]; } return this.lang = lang; }, /** * Localize strings into various languages * * @param string The index of the localized string * @param object Optionally pass a lang object */ localize: function(index, obj) { var lang = this.lang; if(!index) { return null; } var lindex = index.toLowerCase(); if(typeof obj == "object") { lang = obj; } if(lang && lang[lindex]) { return lang[lindex]; } return index; }, /** * Starts the clock */ start: function(callback) { var t = this; if(!t.running && (!t.countdown || t.countdown && t.time.time > 0)) { t.face.start(t.time); t.timer.start(function() { t.flip(); if(typeof callback === "function") { callback(); } }); } else { t.log('Trying to start timer when countdown already at 0'); } }, /** * Stops the clock */ stop: function(callback) { this.face.stop(); this.timer.stop(callback); for(var x in this.lists) { if (this.lists.hasOwnProperty(x)) { this.lists[x].stop(); } } }, /** * Reset the clock */ reset: function(callback) { this.timer.reset(callback); this.face.reset(); }, /** * Sets the clock time */ setTime: function(time) { this.time.time = time; this.flip(true); }, /** * Get the clock time * * @return object Returns a FlipClock.Time object */ getTime: function(time) { return this.time; }, /** * Changes the increment of time to up or down (add/sub) */ setCountdown: function(value) { var running = this.running; this.countdown = value ? true : false; if(running) { this.stop(); this.start(); } }, /** * Flip the digits on the clock * * @param array An array of digits */ flip: function(doNotAddPlayClass) { this.face.flip(false, doNotAddPlayClass); } }); }(jQuery)); /*jshint smarttabs:true */ /** * FlipClock.js * * @author Justin Kimbrell * @copyright 2013 - Objective HTML, LLC * @licesnse http://www.opensource.org/licenses/mit-license.php */ (function($) { "use strict"; /** * The FlipClock List class is used to build the list used to create * the card flip effect. This object fascilates selecting the correct * node by passing a specific digit. * * @param object A FlipClock.Factory object * @param mixed This is the digit used to set the clock. If an * object is passed, 0 will be used. * @param object An object of properties to override the default */ FlipClock.List = FlipClock.Base.extend({ /** * The digit (0-9) */ digit: 0, /** * The CSS classes */ classes: { active: 'flip-clock-active', before: 'flip-clock-before', flip: 'flip' }, /** * The parent FlipClock.Factory object */ factory: false, /** * The jQuery object */ $el: false, /** * The jQuery object (deprecated) */ $obj: false, /** * The items in the list */ items: [], /** * The last digit */ lastDigit: 0, /** * Constructor * * @param object A FlipClock.Factory object * @param int An integer use to select the correct digit * @param object An object to override the default properties */ constructor: function(factory, digit, options) { this.factory = factory; this.digit = digit; this.lastDigit = digit; this.$el = this.createList(); // Depcrated support of the $obj property. this.$obj = this.$el; if(digit > 0) { this.select(digit); } this.factory.$el.append(this.$el); }, /** * Select the digit in the list * * @param int A digit 0-9 */ select: function(digit) { if(typeof digit === "undefined") { digit = this.digit; } else { this.digit = digit; } if(this.digit != this.lastDigit) { var $delete = this.$el.find('.'+this.classes.before).removeClass(this.classes.before); this.$el.find('.'+this.classes.active).removeClass(this.classes.active) .addClass(this.classes.before); this.appendListItem(this.classes.active, this.digit); $delete.remove(); this.lastDigit = this.digit; } }, /** * Adds the play class to the DOM object */ play: function() { this.$el.addClass(this.factory.classes.play); }, /** * Removes the play class to the DOM object */ stop: function() { var t = this; setTimeout(function() { t.$el.removeClass(t.factory.classes.play); }, this.factory.timer.interval); }, /** * Creates the list item HTML and returns as a string */ createListItem: function(css, value) { return [ '<li class="'+(css ? css : '')+'">', '<a href="#">', '<div class="up">', '<div class="shadow"></div>', '<div class="inn">'+(value ? value : '')+'</div>', '</div>', '<div class="down">', '<div class="shadow"></div>', '<div class="inn">'+(value ? value : '')+'</div>', '</div>', '</a>', '</li>' ].join(''); }, /** * Append the list item to the parent DOM node */ appendListItem: function(css, value) { var html = this.createListItem(css, value); this.$el.append(html); }, /** * Create the list of digits and appends it to the DOM object */ createList: function() { var lastDigit = this.getPrevDigit() ? this.getPrevDigit() : this.digit; var html = $([ '<ul class="'+this.classes.flip+' '+(this.factory.running ? this.factory.classes.play : '')+'">', this.createListItem(this.classes.before, lastDigit), this.createListItem(this.classes.active, this.digit), '</ul>' ].join('')); return html; }, getNextDigit: function() { return this.digit == 9 ? 0 : this.digit + 1; }, getPrevDigit: function() { return this.digit == 0 ? 9 : this.digit - 1; } }); }(jQuery)); /*jshint smarttabs:true */ /** * FlipClock.js * * @author Justin Kimbrell * @copyright 2013 - Objective HTML, LLC * @licesnse http://www.opensource.org/licenses/mit-license.php */ (function($) { "use strict"; /** * Capitalize the first letter in a string * * @return string */ String.prototype.ucfirst = function() { return this.substr(0, 1).toUpperCase() + this.substr(1); }; /** * jQuery helper method * * @param int An integer used to start the clock (no. seconds) * @param object An object of properties to override the default */ $.fn.FlipClock = function(digit, options) { return new FlipClock($(this), digit, options); }; /** * jQuery helper method * * @param int An integer used to start the clock (no. seconds) * @param object An object of properties to override the default */ $.fn.flipClock = function(digit, options) { return $.fn.FlipClock(digit, options); }; }(jQuery)); /*jshint smarttabs:true */ /** * FlipClock.js * * @author Justin Kimbrell * @copyright 2013 - Objective HTML, LLC * @licesnse http://www.opensource.org/licenses/mit-license.php */ (function($) { "use strict"; /** * The FlipClock Time class is used to manage all the time * calculations. * * @param object A FlipClock.Factory object * @param mixed This is the digit used to set the clock. If an * object is passed, 0 will be used. * @param object An object of properties to override the default */ FlipClock.Time = FlipClock.Base.extend({ /** * The time (in seconds) or a date object */ time: 0, /** * The parent FlipClock.Factory object */ factory: false, /** * The minimum number of digits the clock face must have */ minimumDigits: 0, /** * Constructor * * @param object A FlipClock.Factory object * @param int An integer use to select the correct digit * @param object An object to override the default properties */ constructor: function(factory, time, options) { if(typeof options != "object") { options = {}; } if(!options.minimumDigits) { options.minimumDigits = factory.minimumDigits; } this.base(options); this.factory = factory; if(time) { this.time = time; } }, /** * Convert a string or integer to an array of digits * * @param mixed String or Integer of digits * @return array An array of digits */ convertDigitsToArray: function(str) { var data = []; str = str.toString(); for(var x = 0;x < str.length; x++) { if(str[x].match(/^\d*$/g)) { data.push(str[x]); } } return data; }, /** * Get a specific digit from the time integer * * @param int The specific digit to select from the time * @return mixed Returns FALSE if no digit is found, otherwise * the method returns the defined digit */ digit: function(i) { var timeStr = this.toString(); var length = timeStr.length; if(timeStr[length - i]) { return timeStr[length - i]; } return false; }, /** * Formats any array of digits into a valid array of digits * * @param mixed An array of digits * @return array An array of digits */ digitize: function(obj) { var data = []; $.each(obj, function(i, value) { value = value.toString(); if(value.length == 1) { value = '0'+value; } for(var x = 0; x < value.length; x++) { data.push(value.charAt(x)); } }); if(data.length > this.minimumDigits) { this.minimumDigits = data.length; } if(this.minimumDigits > data.length) { for(var x = data.length; x < this.minimumDigits; x++) { data.unshift('0'); } } return data; }, /** * Gets a new Date object for the current time * * @return array Returns a Date object */ getDateObject: function() { if(this.time instanceof Date) { return this.time; } return new Date((new Date()).getTime() + this.getTimeSeconds() * 1000); }, /** * Gets a digitized daily counter * * @return object Returns a digitized object */ getDayCounter: function(includeSeconds) { var digits = [ this.getDays(), this.getHours(true), this.getMinutes(true) ]; if(includeSeconds) { digits.push(this.getSeconds(true)); } return this.digitize(digits); }, /** * Gets number of days * * @param bool Should perform a modulus? If not sent, then no. * @return int Retuns a floored integer */ getDays: function(mod) { var days = this.getTimeSeconds() / 60 / 60 / 24; if(mod) { days = days % 7; } return Math.floor(days); }, /** * Gets an hourly breakdown * * @return object Returns a digitized object */ getHourCounter: function() { var obj = this.digitize([ this.getHours(), this.getMinutes(true), this.getSeconds(true) ]); return obj; }, /** * Gets an hourly breakdown * * @return object Returns a digitized object */ getHourly: function() { return this.getHourCounter(); }, /** * Gets number of hours * * @param bool Should perform a modulus? If not sent, then no. * @return int Retuns a floored integer */ getHours: function(mod) { var hours = this.getTimeSeconds() / 60 / 60; if(mod) { hours = hours % 24; } return Math.floor(hours); }, /** * Gets the twenty-four hour time * * @return object returns a digitized object */ getMilitaryTime: function(date, showSeconds) { if(typeof showSeconds === "undefined") { showSeconds = true; } if(!date) { date = this.getDateObject(); } var data = [ date.getHours(), date.getMinutes() ]; if(showSeconds === true) { data.push(date.getSeconds()); } return this.digitize(data); }, /** * Gets number of minutes * * @param bool Should perform a modulus? If not sent, then no. * @return int Retuns a floored integer */ getMinutes: function(mod) { var minutes = this.getTimeSeconds() / 60; if(mod) { minutes = minutes % 60; } return Math.floor(minutes); }, /** * Gets a minute breakdown */ getMinuteCounter: function() { var obj = this.digitize([ this.getMinutes(), this.getSeconds(true) ]); return obj; }, /** * Gets time count in seconds regardless of if targetting date or not. * * @return int Returns a floored integer */ getTimeSeconds: function(date) { if(!date) { date = new Date(); } if (this.time instanceof Date) { if (this.factory.countdown) { return Math.max(this.time.getTime()/1000 - date.getTime()/1000,0); } else { return date.getTime()/1000 - this.time.getTime()/1000 ; } } else { return this.time; } }, /** * Gets the current twelve hour time * * @return object Returns a digitized object */ getTime: function(date, showSeconds) { if(typeof showSeconds === "undefined") { showSeconds = true; } if(!date) { date = this.getDateObject(); } console.log(date); var hours = date.getHours(); var merid = hours > 12 ? 'PM' : 'AM'; var data = [ hours > 12 ? hours - 12 : (hours === 0 ? 12 : hours), date.getMinutes() ]; if(showSeconds === true) { data.push(date.getSeconds()); } return this.digitize(data); }, /** * Gets number of seconds * * @param bool Should perform a modulus? If not sent, then no. * @return int Retuns a ceiled integer */ getSeconds: function(mod) { var seconds = this.getTimeSeconds(); if(mod) { if(seconds == 60) { seconds = 0; } else { seconds = seconds % 60; } } return Math.ceil(seconds); }, /** * Gets number of weeks * * @param bool Should perform a modulus? If not sent, then no. * @return int Retuns a floored integer */ getWeeks: function(mod) { var weeks = this.getTimeSeconds() / 60 / 60 / 24 / 7; if(mod) { weeks = weeks % 52; } return Math.floor(weeks); }, /** * Removes a specific number of leading zeros from the array. * This method prevents you from removing too many digits, even * if you try. * * @param int Total number of digits to remove * @return array An array of digits */ removeLeadingZeros: function(totalDigits, digits) { var total = 0; var newArray = []; $.each(digits, function(i, digit) { if(i < totalDigits) { total += parseInt(digits[i], 10); } else { newArray.push(digits[i]); } }); if(total === 0) { return newArray; } return digits; }, /** * Adds X second to the current time */ addSeconds: function(x) { if(this.time instanceof Date) { this.time.setSeconds(this.time.getSeconds() + x); } else { this.time += x; } }, /** * Adds 1 second to the current time */ addSecond: function() { this.addSeconds(1); }, /** * Substracts X seconds from the current time */ subSeconds: function(x) { if(this.time instanceof Date) { this.time.setSeconds(this.time.getSeconds() - x); } else { this.time -= x; } }, /** * Substracts 1 second from the current time */ subSecond: function() { this.subSeconds(1); }, /** * Converts the object to a human readable string */ toString: function() { return this.getTimeSeconds().toString(); } /* getYears: function() { return Math.floor(this.time / 60 / 60 / 24 / 7 / 52); }, getDecades: function() { return Math.floor(this.getWeeks() / 10); }*/ }); }(jQuery)); /*jshint smarttabs:true */ /** * FlipClock.js * * @author Justin Kimbrell * @copyright 2013 - Objective HTML, LLC * @licesnse http://www.opensource.org/licenses/mit-license.php */ (function($) { "use strict"; /** * The FlipClock.Timer object managers the JS timers * * @param object The parent FlipClock.Factory object * @param object Override the default options */ FlipClock.Timer = FlipClock.Base.extend({ /** * Callbacks */ callbacks: { destroy: false, create: false, init: false, interval: false, start: false, stop: false, reset: false }, /** * FlipClock timer count (how many intervals have passed) */ count: 0, /** * The parent FlipClock.Factory object */ factory: false, /** * Timer interval (1 second by default) */ interval: 1000, /** * The rate of the animation in milliseconds (not currently in use) */ animationRate: 1000, /** * Constructor * * @return void */ constructor: function(factory, options) { this.base(options); this.factory = factory; this.callback(this.callbacks.init); this.callback(this.callbacks.create); }, /** * This method gets the elapsed the time as an interger * * @return void */ getElapsed: function() { return this.count * this.interval; }, /** * This method gets the elapsed the time as a Date object * * @return void */ getElapsedTime: function() { return new Date(this.time + this.getElapsed()); }, /** * This method is resets the timer * * @param callback This method resets the timer back to 0 * @return void */ reset: function(callback) { clearInterval(this.timer); this.count = 0; this._setInterval(callback); this.callback(this.callbacks.reset); }, /** * This method is starts the timer * * @param callback A function that is called once the timer is destroyed * @return void */ start: function(callback) { this.factory.running = true; this._createTimer(callback); this.callback(this.callbacks.start); }, /** * This method is stops the timer * * @param callback A function that is called once the timer is destroyed * @return void */ stop: function(callback) { this.factory.running = false; this._clearInterval(callback); this.callback(this.callbacks.stop); this.callback(callback); }, /** * Clear the timer interval * * @return void */ _clearInterval: function() { clearInterval(this.timer); }, /** * Create the timer object * * @param callback A function that is called once the timer is created * @return void */ _createTimer: function(callback) { this._setInterval(callback); }, /** * Destroy the timer object * * @param callback A function that is called once the timer is destroyed * @return void */ _destroyTimer: function(callback) { this._clearInterval(); this.timer = false; this.callback(callback); this.callback(this.callbacks.destroy); }, /** * This method is called each time the timer interval is ran * * @param callback A function that is called once the timer is destroyed * @return void */ _interval: function(callback) { this.callback(this.callbacks.interval); this.callback(callback); this.count++; }, /** * This sets the timer interval * * @param callback A function that is called once the timer is destroyed * @return void */ _setInterval: function(callback) { var t = this; t._interval(callback); t.timer = setInterval(function() { t._interval(callback); }, this.interval); } }); }(jQuery)); (function($) { /** * Twenty-Four Hour Clock Face * * This class will generate a twenty-four our clock for FlipClock.js * * @param object The parent FlipClock.Factory object * @param object An object of properties to override the default */ FlipClock.TwentyFourHourClockFace = FlipClock.Face.extend({ /** * Constructor * * @param object The parent FlipClock.Factory object * @param object An object of properties to override the default */ constructor: function(factory, options) { this.base(factory, options); }, /** * Build the clock face * * @param object Pass the time that should be used to display on the clock. */ build: function(time) { var t = this; var children = this.factory.$el.find('ul'); if(!this.factory.time.time) { this.factory.original = new Date(); this.factory.time = new FlipClock.Time(this.factory, this.factory.original); } var time = time ? time : this.factory.time.getMilitaryTime(false, this.showSeconds); if(time.length > children.length) { $.each(time, function(i, digit) { t.createList(digit); }); } this.createDivider(); this.createDivider(); $(this.dividers[0]).insertBefore(this.lists[this.lists.length - 2].$el); $(this.dividers[1]).insertBefore(this.lists[this.lists.length - 4].$el); this.base(); }, /** * Flip the clock face */ flip: function(time, doNotAddPlayClass) { this.autoIncrement(); time = time ? time : this.factory.time.getMilitaryTime(false, this.showSeconds); this.base(time, doNotAddPlayClass); } }); }(jQuery)); (function($) { /** * Counter Clock Face * * This class will generate a generice flip counter. The timer has been * disabled. clock.increment() and clock.decrement() have been added. * * @param object The parent FlipClock.Factory object * @param object An object of properties to override the default */ FlipClock.CounterFace = FlipClock.Face.extend({ /** * Tells the counter clock face if it should auto-increment */ shouldAutoIncrement: false, /** * Constructor * * @param object The parent FlipClock.Factory object * @param object An object of properties to override the default */ constructor: function(factory, options) { if(typeof options != "object") { options = {}; } factory.autoStart = options.autoStart ? true : false; if(options.autoStart) { this.shouldAutoIncrement = true; } factory.increment = function() { factory.countdown = false; factory.setTime(factory.getTime().getTimeSeconds() + 1); }; factory.decrement = function() { factory.countdown = true; var time = factory.getTime().getTimeSeconds(); if(time > 0) { factory.setTime(time - 1); } }; factory.setValue = function(digits) { factory.setTime(digits); }; factory.setCounter = function(digits) { factory.setTime(digits); }; this.base(factory, options); }, /** * Build the clock face */ build: function() { var t = this; var children = this.factory.$el.find('ul'); var time = this.factory.getTime().digitize([this.factory.getTime().time]); if(time.length > children.length) { $.each(time, function(i, digit) { var list = t.createList(digit); list.select(digit); }); } $.each(this.lists, function(i, list) { list.play(); }); this.base(); }, /** * Flip the clock face */ flip: function(time, doNotAddPlayClass) { if(this.shouldAutoIncrement) { this.autoIncrement(); } if(!time) { time = this.factory.getTime().digitize([this.factory.getTime().time]); } this.base(time, doNotAddPlayClass); }, /** * Reset the clock face */ reset: function() { this.factory.time = new FlipClock.Time( this.factory, this.factory.original ? Math.round(this.factory.original) : 0 ); this.flip(); } }); }(jQuery)); (function($) { /** * Daily Counter Clock Face * * This class will generate a daily counter for FlipClock.js. A * daily counter will track days, hours, minutes, and seconds. If * the number of available digits is exceeded in the count, a new * digit will be created. * * @param object The parent FlipClock.Factory object * @param object An object of properties to override the default */ FlipClock.DailyCounterFace = FlipClock.Face.extend({ showSeconds: true, /** * Constructor * * @param object The parent FlipClock.Factory object * @param object An object of properties to override the default */ constructor: function(factory, options) { this.base(factory, options); }, /** * Build the clock face */ build: function(time) { var t = this; var children = this.factory.$el.find('ul'); var offset = 0; time = time ? time : this.factory.time.getDayCounter(this.showSeconds); if(time.length > children.length) { $.each(time, function(i, digit) { t.createList(digit); }); } if(this.showSeconds) { $(this.createDivider('SEGUNDOS')).insertBefore(this.lists[this.lists.length - 2].$el); } else { offset = 2; } $(this.createDivider('MINUTOS')).insertBefore(this.lists[this.lists.length - 4 + offset].$el); $(this.createDivider('HORAS')).insertBefore(this.lists[this.lists.length - 6 + offset].$el); $(this.createDivider('DIAS', true)).insertBefore(this.lists[0].$el); this.base(); }, /** * Flip the clock face */ flip: function(time, doNotAddPlayClass) { if(!time) { time = this.factory.time.getDayCounter(this.showSeconds); } this.autoIncrement(); this.base(time, doNotAddPlayClass); } }); }(jQuery)); (function($) { /** * Hourly Counter Clock Face * * This class will generate an hourly counter for FlipClock.js. An * hour counter will track hours, minutes, and seconds. If number of * available digits is exceeded in the count, a new digit will be * created. * * @param object The parent FlipClock.Factory object * @param object An object of properties to override the default */ FlipClock.HourlyCounterFace = FlipClock.Face.extend({ // clearExcessDigits: true, /** * Constructor * * @param object The parent FlipClock.Factory object * @param object An object of properties to override the default */ constructor: function(factory, options) { this.base(factory, options); }, /** * Build the clock face */ build: function(excludeHours, time) { var t = this; var children = this.factory.$el.find('ul'); time = time ? time : this.factory.time.getHourCounter(); if(time.length > children.length) { $.each(time, function(i, digit) { t.createList(digit); }); } $(this.createDivider('Seconds')).insertBefore(this.lists[this.lists.length - 2].$el); $(this.createDivider('Minutes')).insertBefore(this.lists[this.lists.length - 4].$el); if(!excludeHours) { $(this.createDivider('Hours', true)).insertBefore(this.lists[0].$el); } this.base(); }, /** * Flip the clock face */ flip: function(time, doNotAddPlayClass) { if(!time) { time = this.factory.time.getHourCounter(); } this.autoIncrement(); this.base(time, doNotAddPlayClass); }, /** * Append a newly created list to the clock */ appendDigitToClock: function(obj) { this.base(obj); this.dividers[0].insertAfter(this.dividers[0].next()); } }); }(jQuery)); (function($) { /** * Minute Counter Clock Face * * This class will generate a minute counter for FlipClock.js. A * minute counter will track minutes and seconds. If an hour is * reached, the counter will reset back to 0. (4 digits max) * * @param object The parent FlipClock.Factory object * @param object An object of properties to override the default */ FlipClock.MinuteCounterFace = FlipClock.HourlyCounterFace.extend({ clearExcessDigits: false, /** * Constructor * * @param object The parent FlipClock.Factory object * @param object An object of properties to override the default */ constructor: function(factory, options) { this.base(factory, options); }, /** * Build the clock face */ build: function() { this.base(true, this.factory.time.getMinuteCounter()); }, /** * Flip the clock face */ flip: function(time, doNotAddPlayClass) { if(!time) { time = this.factory.time.getMinuteCounter(); } this.base(time, doNotAddPlayClass); } }); }(jQuery)); (function($) { /** * Twelve Hour Clock Face * * This class will generate a twelve hour clock for FlipClock.js * * @param object The parent FlipClock.Factory object * @param object An object of properties to override the default */ FlipClock.TwelveHourClockFace = FlipClock.TwentyFourHourClockFace.extend({ /** * The meridium jQuery DOM object */ meridium: false, /** * The meridium text as string for easy access */ meridiumText: 'AM', /** * Build the clock face * * @param object Pass the time that should be used to display on the clock. */ build: function() { var t = this; var time = this.factory.time.getTime(false, this.showSeconds); this.base(time); this.meridiumText = this.getMeridium(); this.meridium = $([ '<ul class="flip-clock-meridium">', '<li>', '<a href="#">'+this.meridiumText+'</a>', '</li>', '</ul>' ].join('')); this.meridium.insertAfter(this.lists[this.lists.length-1].$el); }, /** * Flip the clock face */ flip: function(time, doNotAddPlayClass) { if(this.meridiumText != this.getMeridium()) { this.meridiumText = this.getMeridium(); this.meridium.find('a').html(this.meridiumText); } this.base(this.factory.time.getTime(false, this.showSeconds), doNotAddPlayClass); }, /** * Get the current meridium * * @return string Returns the meridium (AM|PM) */ getMeridium: function() { return new Date().getHours() >= 12 ? 'PM' : 'AM'; }, /** * Is it currently in the post-medirium? * * @return bool Returns true or false */ isPM: function() { return this.getMeridium() == 'PM' ? true : false; }, /** * Is it currently before the post-medirium? * * @return bool Returns true or false */ isAM: function() { return this.getMeridium() == 'AM' ? true : false; } }); }(jQuery)); (function($) { /** * FlipClock Arabic Language Pack * * This class will be used to translate tokens into the Arabic language. * */ FlipClock.Lang.Arabic = { 'years' : 'سنوات', 'months' : 'شهور', 'days' : 'أيام', 'hours' : 'ساعات', 'minutes' : 'دقائق', 'seconds' : 'ثواني' }; /* Create various aliases for convenience */ FlipClock.Lang['ar'] = FlipClock.Lang.Arabic; FlipClock.Lang['ar-ar'] = FlipClock.Lang.Arabic; FlipClock.Lang['arabic'] = FlipClock.Lang.Arabic; }(jQuery)); (function($) { /** * FlipClock Danish Language Pack * * This class will used to translate tokens into the Danish language. * */ FlipClock.Lang.Danish = { 'years' : 'År', 'months' : 'Måneder', 'days' : 'Dage', 'hours' : 'Timer', 'minutes' : 'Minutter', 'seconds' : 'Sekunder' }; /* Create various aliases for convenience */ FlipClock.Lang['da'] = FlipClock.Lang.Danish; FlipClock.Lang['da-dk'] = FlipClock.Lang.Danish; FlipClock.Lang['danish'] = FlipClock.Lang.Danish; }(jQuery)); (function($) { /** * FlipClock German Language Pack * * This class will used to translate tokens into the German language. * */ FlipClock.Lang.German = { 'years' : 'Jahre', 'months' : 'Monate', 'days' : 'Tage', 'hours' : 'Stunden', 'minutes' : 'Minuten', 'seconds' : 'Sekunden' }; /* Create various aliases for convenience */ FlipClock.Lang['de'] = FlipClock.Lang.German; FlipClock.Lang['de-de'] = FlipClock.Lang.German; FlipClock.Lang['german'] = FlipClock.Lang.German; }(jQuery)); (function($) { /** * FlipClock English Language Pack * * This class will used to translate tokens into the English language. * */ FlipClock.Lang.English = { 'years' : 'Years', 'months' : 'Months', 'days' : 'Days', 'hours' : 'Hours', 'minutes' : 'Minutes', 'seconds' : 'Seconds' }; /* Create various aliases for convenience */ FlipClock.Lang['en'] = FlipClock.Lang.English; FlipClock.Lang['en-us'] = FlipClock.Lang.English; FlipClock.Lang['english'] = FlipClock.Lang.English; }(jQuery)); (function($) { /** * FlipClock Spanish Language Pack * * This class will used to translate tokens into the Spanish language. * */ FlipClock.Lang.Spanish = { 'years' : 'Años', 'months' : 'Meses', 'days' : 'Días', 'hours' : 'Horas', 'minutes' : 'Minutos', 'seconds' : 'Segundos' }; /* Create various aliases for convenience */ FlipClock.Lang['es'] = FlipClock.Lang.Spanish; FlipClock.Lang['es-es'] = FlipClock.Lang.Spanish; FlipClock.Lang['spanish'] = FlipClock.Lang.Spanish; }(jQuery)); (function($) { /** * FlipClock Finnish Language Pack * * This class will used to translate tokens into the Finnish language. * */ FlipClock.Lang.Finnish = { 'years' : 'Vuotta', 'months' : 'Kuukautta', 'days' : 'Päivää', 'hours' : 'Tuntia', 'minutes' : 'Minuuttia', 'seconds' : 'Sekuntia' }; /* Create various aliases for convenience */ FlipClock.Lang['fi'] = FlipClock.Lang.Finnish; FlipClock.Lang['fi-fi'] = FlipClock.Lang.Finnish; FlipClock.Lang['finnish'] = FlipClock.Lang.Finnish; }(jQuery)); (function($) { /** * FlipClock Canadian French Language Pack * * This class will used to translate tokens into the Canadian French language. * */ FlipClock.Lang.French = { 'years' : 'Ans', 'months' : 'Mois', 'days' : 'Jours', 'hours' : 'Heures', 'minutes' : 'Minutes', 'seconds' : 'Secondes' }; /* Create various aliases for convenience */ FlipClock.Lang['fr'] = FlipClock.Lang.French; FlipClock.Lang['fr-ca'] = FlipClock.Lang.French; FlipClock.Lang['french'] = FlipClock.Lang.French; }(jQuery)); (function($) { /** * FlipClock Italian Language Pack * * This class will used to translate tokens into the Italian language. * */ FlipClock.Lang.Italian = { 'years' : 'Anni', 'months' : 'Mesi', 'days' : 'Giorni', 'hours' : 'Ore', 'minutes' : 'Minuti', 'seconds' : 'Secondi' }; /* Create various aliases for convenience */ FlipClock.Lang['it'] = FlipClock.Lang.Italian; FlipClock.Lang['it-it'] = FlipClock.Lang.Italian; FlipClock.Lang['italian'] = FlipClock.Lang.Italian; }(jQuery)); (function($) { /** * FlipClock Latvian Language Pack * * This class will used to translate tokens into the Latvian language. * */ FlipClock.Lang.Latvian = { 'years' : 'Gadi', 'months' : 'Mēneši', 'days' : 'Dienas', 'hours' : 'Stundas', 'minutes' : 'Minūtes', 'seconds' : 'Sekundes' }; /* Create various aliases for convenience */ FlipClock.Lang['lv'] = FlipClock.Lang.Latvian; FlipClock.Lang['lv-lv'] = FlipClock.Lang.Latvian; FlipClock.Lang['latvian'] = FlipClock.Lang.Latvian; }(jQuery)); (function($) { /** * FlipClock Dutch Language Pack * * This class will used to translate tokens into the Dutch language. */ FlipClock.Lang.Dutch = { 'years' : 'Jaren', 'months' : 'Maanden', 'days' : 'Dagen', 'hours' : 'Uren', 'minutes' : 'Minuten', 'seconds' : 'Seconden' }; /* Create various aliases for convenience */ FlipClock.Lang['nl'] = FlipClock.Lang.Dutch; FlipClock.Lang['nl-be'] = FlipClock.Lang.Dutch; FlipClock.Lang['dutch'] = FlipClock.Lang.Dutch; }(jQuery)); (function($) { /** * FlipClock Norwegian-Bokmål Language Pack * * This class will used to translate tokens into the Norwegian language. * */ FlipClock.Lang.Norwegian = { 'years' : 'År', 'months' : 'Måneder', 'days' : 'Dager', 'hours' : 'Timer', 'minutes' : 'Minutter', 'seconds' : 'Sekunder' }; /* Create various aliases for convenience */ FlipClock.Lang['no'] = FlipClock.Lang.Norwegian; FlipClock.Lang['nb'] = FlipClock.Lang.Norwegian; FlipClock.Lang['no-nb'] = FlipClock.Lang.Norwegian; FlipClock.Lang['norwegian'] = FlipClock.Lang.Norwegian; }(jQuery)); (function($) { /** * FlipClock Portuguese Language Pack * * This class will used to translate tokens into the Portuguese language. * */ FlipClock.Lang.Portuguese = { 'years' : 'Anos', 'months' : 'Meses', 'days' : 'Dias', 'hours' : 'Horas', 'minutes' : 'Minutos', 'seconds' : 'Segundos' }; /* Create various aliases for convenience */ FlipClock.Lang['pt'] = FlipClock.Lang.Portuguese; FlipClock.Lang['pt-br'] = FlipClock.Lang.Portuguese; FlipClock.Lang['portuguese'] = FlipClock.Lang.Portuguese; }(jQuery)); (function($) { /** * FlipClock Russian Language Pack * * This class will used to translate tokens into the Russian language. * */ FlipClock.Lang.Russian = { 'years' : 'лет', 'months' : 'месяцев', 'days' : 'дней', 'hours' : 'часов', 'minutes' : 'минут', 'seconds' : 'секунд' }; /* Create various aliases for convenience */ FlipClock.Lang['ru'] = FlipClock.Lang.Russian; FlipClock.Lang['ru-ru'] = FlipClock.Lang.Russian; FlipClock.Lang['russian'] = FlipClock.Lang.Russian; }(jQuery)); (function($) { /** * FlipClock Swedish Language Pack * * This class will used to translate tokens into the Swedish language. * */ FlipClock.Lang.Swedish = { 'years' : 'År', 'months' : 'Månader', 'days' : 'Dagar', 'hours' : 'Timmar', 'minutes' : 'Minuter', 'seconds' : 'Sekunder' }; /* Create various aliases for convenience */ FlipClock.Lang['sv'] = FlipClock.Lang.Swedish; FlipClock.Lang['sv-se'] = FlipClock.Lang.Swedish; FlipClock.Lang['swedish'] = FlipClock.Lang.Swedish; }(jQuery)); (function($) { /** * FlipClock Chinese Language Pack * * This class will used to translate tokens into the Chinese language. * */ FlipClock.Lang.Chinese = { 'years' : '年', 'months' : '月', 'days' : '日', 'hours' : '时', 'minutes' : '分', 'seconds' : '秒' }; /* Create various aliases for convenience */ FlipClock.Lang['zh'] = FlipClock.Lang.Chinese; FlipClock.Lang['zh-cn'] = FlipClock.Lang.Chinese; FlipClock.Lang['chinese'] = FlipClock.Lang.Chinese; }(jQuery));
  4. Olá, sou novo aqui e estou criando um contador e calcular de preço por minutos. Funciona basicamente como um cronômetro que faz um calculo por minuto, está tudo funcionando normalmente... o problema é quando atualiza a página e o cronômetro reinicia, existe algum modo de guardar essa função numa sessão ou em cookies? (vou colocar o código aqui mesmo e tbm anexei no post). var segundos = new Number(); var segundos = 0; var minutos = new Number(); var minutos = 0; var horas = new Number(); var horas = 0; var minutos_inf = new Number(); var minutos_inf = 0; var valor_por_minuto = 0.10; function start() { segundos = segundos + 1; if (segundos >= 60) { minutos = minutos + 1; minutos_inf = minutos_inf + 1; segundos = 0; if (minutos >= 60) { horas = horas + 1; minutos = 0; } } if (segundos < 10) { var m_segundos = "0" + segundos; } else { var m_segundos = segundos; } if (minutos < 10) { var m_minutos = "0" + minutos; } else { var m_minutos = minutos; } if (horas < 10) { var m_horas = "0" + horas; } else { var m_horas = horas; } sessionStorage.setItem('tempo', m_horas + ":" + m_minutos + ":" + m_segundos); tempo.innerText = sessionStorage.getItem('tempo'); var valor_total = (valor_por_minuto * minutos_inf).toFixed(2); valor.innerText = "R$ " + valor_total; setTimeout('start();', 1000); } config.js
  5. wneo

    PHPmailer - liberar segurança no gmail

    Olá! Pessoal, estou utilizando o phpMailer para envio de email. O gmail está com uma segurança automática que evita o recebimento. Então fica necessário que o usuário modifique essa configuração para liberar o recebimento. Vocês sabem alguma forma de configurar o código pra evitar isso automaticamente? $mail = new PHPMailer(); $mail2 = new PHPMailer(); /* ................................ Receber solicit ................................... */ $mail->Username = "email"; // your GMail user name $mail->Password = "senha"; $mail->AddAddress("email","Tesste"); // recipients email $mail->FromName = $email; // readable name $mail->Subject = $nome; $mail->isHTML(true); $mail->Body = $receber_solicit; //----------------------------------------------------------------------- $mail->Host = "smtp.gmail.com"; // GMail $mail->Port = 587; $mail->IsSMTP(); // use SMTP $mail->SMTPAuth = true; // turn on SMTP authentication $mail->From = $mail->Username; if(!$mail->Send()) echo "Mailer Error: " . $mail->ErrorInfo; else echo "Mensagem enviada"; /* ............................... /Receber solicit ................................... */ /* ********************************************************************* */ /* ............................... Enviar resposta ................................... */ $mail2->Username = "email"; // your Gmail2 user name $mail2->Password = "senha"; $mail2->AddAddress($email); // recipients email2 $mail2->FromName = 'Empresa'; // readable name $mail2->Subject = 'Agradecemos o seu contato!'; $mail2->isHTML(true); $mail2->Body = $enviar_resposta_auto; //----------------------------------------------------------------------- $mail2->Host = "smtp.gmail.com"; // Gmail2 $mail2->Port = 587; $mail2->IsSMTP(); // use SMTP $mail2->SMTPAuth = true; // turn on SMTP authentication $mail2->From = $mail2->Username; if(!$mail2->Send()) echo "mailer Error: " . $mail2->ErrorInfo; else echo "Mensagem enviada"; /* .............................. /Enviar resposta ................................... */
  6. Olá galera, sou novo em javascript e me deparei com uma duvida. Como posso fazer um loop em todos elementos de uma div ? Eu quero fazer um loop(laço) em uma div, e todos os elementos que ela tem, aparecendo assim varias divis iguais.
  7. wneo

    Documentador código-fonte como usar

    Olá pessoal! Estou querendo usar uma ferramenta para documentar código-fonte. O phpDoc me parece uma boa opção.. (podem me indicar outro, se já aprovaram), O problema é que não estou conseguindo usar.. oPhpDoc por exemplo.. não consigo instalar... Não consigo usar os comandos PEAR e phar ou composer.. nunca usei.. li alguns materiais.. mas gostaria de uma ajuda prática nisso..
  8. ronaldojsp

    Tempo de para acessar o link novamente?

    meu site tem alguns links externos eu gostaria de saber como bloquear o acesso por um determinado tempo quando o usuário acessar. estou buscando uma pagina(http://forum.imasters.com.br/topic/553574-barra-de-menu-fixo-e-botao-proximo/) que vai abrir o conteúdo externo e vai ter uma barra de menu fixa no top com um botão próximo, esse botão fica abre os próximos links externos na mesma página, com tudo se eu tiver 3 links em teoria quando chegasse ao fim da lista ele retornaria para o primeiro, mas eu gostaria de bloquear um acesso durante um tempo, assim o usuário não fica apertando próximo e repedindo sem parar. EX. link 1 - 1h link 2 - 1min link 3 - 5min visitei o link 1 (começa a contagem regressiva) apertei em PRÓXIMO, abre o link 2(contagem) aperto em PRÓXIMO, abre o link 3(contagem) aperto em PRÓXIMO... se já deu o tempo ele abre o link 2, se passaram 1h aperto em PRÓXIMO, abre o link 1 e assim por diante. muito difícil pra mim, desde já Obrigado.
  9. ronaldojsp

    Barra de menu fixo e Botão Próximo?

    Estou montando um pequeno site e gostaria que quando o visitante clicasse em algum link externo abriria uma pagina com o conteúdo do link com uma barra de menu fixa no top com apenas três botões, home, próximo(abre o próximo link externo) e Copiar(não vou usar no momento). pensei em usar um iFrame pra abrir o conteúdo sem sair da minha página, mas como botar a barra e o botão próximo? Obrigado.
  10. wneo

    Notification html5

    Bom dia! Já ouviram falar no recurso 'notification' do html5? Tem como objetivo comunicar a aplicação web com retornos em desktop do navegador. Estou tentando utilizar, mas não consigo: -No jsfiddle funciona: http://jsfiddle.net/mgibsonbr/TPJBn/1/ -Agora quando tento passar para os arquivos e rodar diretamente no navegador, nada acontece...o que estou esquecendo? <!DOCTYPE html> <html> <script src="js/jquery-1.9.0.js" ></script> <script> function notify() { Notification.requestPermission(function() { var notification = new Notification("Título", { icon: 'http://i.stack.imgur.com/dmHl0.png', body: "Texto da notificação" }); notification.onclick = function() { window.open("http://stackoverflow.com"); } }); } </script> <div style="width: 300px; height: 300px; background: yellow" onclick="notify()"> Clique aqui para a notificação </div> </html>
  11. Alguém sabe como eu imprimo os dados do cliente através do id?
  12. Olá alguém sabe como eu faço pra somar os valores de checkbox marcados? mais ou menos assim, só que quando eu clicar em algum checkbox ele já fazer o calculo sem dar refresh na pagina <ul> <li> <input type="checkbox" name="check[]" id="ovo" value="Ovo"> <span>Ovo</span> </li> <li> <input type="checkbox" name="check[]" id="cebola" value="Cebola"> <span>Cebola</span> </li> <li> <input type="checkbox" name="check[]" id="calabresa" value="Calabresa"> <span>Calabresa</span> </li> <li> <input type="checkbox" name="check[]" id="bacon" value="Bacon"> <span>Bacon</span> </li> </ul> <?php $acrescimo_opcoes = 3; //acrescenta R$ 3,00 na conta if(isset($_POST['check'])){ $opcoes = count($_POST['check']); //conta o número de checkbox marado echo $opcoes; $opcoes_esc = implode($_POST['check'],', '); } $sql="Select c.*, p.* From carrinho c, produtos p where c.id_produto = p.id_produto and id_pedido = '$id_pedido'"; $totalReg = $carrinho->totalRegistros($sql); $total = 0; for($i=0;$i < $totalReg;$i++){ $carrinho->verCarrinho($sql,$i); $subtotal = $carrinho->getQuantidade() * $carrinho->getPreco()+ ($opcoes * $acrescimo_opcoes); $total = $total + $subtotal; $codProd[$i] = $carrinho->getIdProduto(); ?>​
  13. natant1

    padding chrome vs firefox

    estava trabalhando no meu projeto e decidi verificar como ele estava ficando em diferentes navegadores até que me deparei com isso: No chrome, em meu menu e em outra area do site, onde está sendo aplicada a propriedade padding, o resultado é o desejado: Ja no firefox, no menu e nesta mesma área, acontece isso: Alguém tem alguma solução para este problema? Como é possível diferenciar o padding pro chrome e pro firefox?. Não é de meu conhecimento um -moz- para padding :( aqui esta o codigo do meu menu: CSS: * { margin: 0px; padding: 0px; } header{ position: relative; height: 79px; width: 100%; background-color: #053d74; } ul#menuprinc { position: absolute; font-size: 1.38em; top: 29px; width: 578px; right: 100px; } ul#menuprinc a { text-decoration: none; color: white; font-family: Agency FB; } ul#menuprinc li { display: inline; padding-right: 26px; padding-left: 29px; } ul#menuprinc li.lancamentos { border-bottom: 5px solid #762d2f; padding-bottom: 21px; -webkit-transition: border-bottom 0.2s; -moz-transition: border-bottom 0.2s; } ul#menuprinc li.topYoutube { border-bottom: 5px solid #c0a035; padding-bottom: 21px; -webkit-transition: border-bottom 0.2s; -moz-transition: border-bottom 0.2s; } ul#menuprinc li.maisAssistidos { border-bottom: 5px solid #579840; padding-bottom: 21px; -webkit-transition: border-bottom 0.2s; -moz-transition: border-bottom 0.2s; } ul#menuprinc li.comoFunciona { border-bottom: 5px solid white; padding-bottom: 21px; -webkit-transition: border-bottom 0.2s; -moz-transition: border-bottom 0.2s; } ul#menuprinc li.lancamentos:hover, header ul#menuprinc li.topYoutube:hover, header ul#menuprinc li.maisAssistidos:hover, header ul#menuprinc li.comoFunciona:hover { border-bottom: 5px solid #053d74; } HTML: <header> <nav> <ul id="menuprinc"> <a href="#"><li class="lancamentos">Lançamentos</li></a><a href="#"><li class="topYoutube">Top Youtube</li></a><a href="#"><li class="maisAssistidos">Artistas</li></a><a href="#"><li class="comoFunciona">Como Funciona</li></a> </ul> </nav> </header> https://jsfiddle.net/natant1/gtd9m051/2/ Obrigado
  14. omor

    Como enviar duas action com um click somente

    Olá, alguem sabe como enviar duas action somente com um botão enviar? em php? exemplo: tenho uma pagina que envia dados para o banco de dados e outra que envia o email para o cliente, quero que ao clicar no botão, envie as duas ações simultaneamente.
  15. leopedroso45

    Como colocar sons/audios no meu código JS

    Olá, estou precisando de uma ajuda! Estou programando um jogo da velha em HTML, e preciso colocar uma musica quando a pessoa empata o jogo! Tentei utilizar o autoplay e varios outros comandos e não consegui! É o seguinte, qnd o jogador empatar será executada uma musica... como eu faço isso?? #URGENTE!
  16. Kid Feed

    [Formação de equipe] The Flood

    SPIN GAME STUDIOS Ola a todos! Me chamo vitor,e hoje eu me registrei no forum no intuito de achar pessoas que queiram participar do nosso projeto,que explicarei detalhadamente aqui. Bem,nos últimos dias eu e meu amigo,Wesley,decidimos criar uma equipe de jogos,dito e feito,já achamos um compositor de musicas para a nossa equipe,agora falta mais alguns cargos que listarei abaixo,mas recentemente temos 2 programadores e um compositor musical,segue a lista de cargos abaixo: programador > 2 cargos modelador > 2 cargos texturizador > 1 cargo desenhista > 1 cargo projetos que pretendemos fazer: serei o mais claro possivel para tentar mostrar a voces o projeto que queremos criar,THE FLOOD. Sera um jogo de sobrevivencia em mundo aberto,em uma ilha paradisica onde varias pessoas tiram ferias,onde a piers,litorais,cidades de medio porte e comercio. O objetivo do jogo é sobreviver em pleno maior inundação que ja aconteceu na historia,que ocorrera pelo alto nivel de derretimento dos polos,oque fara que a ilha seja aos poucos,engolida pelo mar. E o jogador tera de sobreviver e ao mesmo tempo subir para que a água nao chegue a ele. CONTATO: SKYPE: kid.feed EMAIL: kid.feed13@gmail.com
  17. joaozinho123

    Interrogação em URL Amigável

    Olá gente, tudo bem? Então, eu tenho essa linha no meu arquivo htaccess: RewriteRule ^usuario/(.*)$ usuario.php?nick=$1 Ela redireciona o link usuario/user para usuario.php?nick=user, porém, nosso sistema registra nicks com alguns caracteres especiais, e eu preciso que esses caracteres passem pela url. Se eu usar o link usuario.php?nick=?joao?, o nome ?joao? será identificado. Se eu uso usuario/?joao?, não identifica. Eu procurei por tópicos como esse, mas só encontrei como "bloquear" as interrogações, e eu preciso justamente do contrário. Obs: não posso abrir mão das interrogações nos nicks.
  18. Kid Feed

    [Formação de equipe] The Flood

    SPIN GAME STUDIOS Ola a todos! Me chamo vitor,e hoje eu me registrei no forum no intuito de achar pessoas que queiram participar do nosso projeto,que explicarei detalhadamente aqui. Bem,nos últimos dias eu e meu amigo,Wesley,decidimos criar uma equipe de jogos,dito e feito,já achamos um compositor de musicas para a nossa equipe,agora falta mais alguns cargos que listarei abaixo,mas recentemente temos 2 programadores e um compositor musical,segue a lista de cargos abaixo: programador > 2 cargos modelador > 2 cargos texturizador > 1 cargo desenhista > 1 cargo projetos que pretendemos fazer: serei o mais claro possivel para tentar mostrar a voces o projeto que queremos criar,THE FLOOD. Sera um jogo de sobrevivencia em mundo aberto,em uma ilha paradisica onde varias pessoas tiram ferias,onde a piers,litorais,cidades de medio porte e comercio. O objetivo do jogo é sobreviver em pleno maior inundação que ja aconteceu na historia,que ocorrera pelo alto nivel de derretimento dos polos,oque fara que a ilha seja aos poucos,engolida pelo mar. E o jogador tera de sobreviver e ao mesmo tempo subir para que a água nao chegue a ele. CONTATO: SKYPE: kid.feed EMAIL: kid.feed13@gmail.com
  19. Kid Feed

    [Formação de equipe] The Flood

    SPIN GAME STUDIOS Ola a todos! Me chamo vitor,e hoje eu me registrei no forum no intuito de achar pessoas que queiram participar do nosso projeto,que explicarei detalhadamente aqui. Bem,nos últimos dias eu e meu amigo,Wesley,decidimos criar uma equipe de jogos,dito e feito,já achamos um compositor de musicas para a nossa equipe,agora falta mais alguns cargos que listarei abaixo,mas recentemente temos 2 programadores e um compositor musical,segue a lista de cargos abaixo: programador > 2 cargos modelador > 2 cargos texturizador > 1 cargo desenhista > 1 cargo projetos que pretendemos fazer: serei o mais claro possivel para tentar mostrar a voces o projeto que queremos criar,THE FLOOD. Sera um jogo de sobrevivencia em mundo aberto,em uma ilha paradisica onde varias pessoas tiram ferias,onde a piers,litorais,cidades de medio porte e comercio. O objetivo do jogo é sobreviver em pleno maior inundação que ja aconteceu na historia,que ocorrera pelo alto nivel de derretimento dos polos,oque fara que a ilha seja aos poucos,engolida pelo mar. E o jogador tera de sobreviver e ao mesmo tempo subir para que a água nao chegue a ele. CONTATO: SKYPE: kid.feed EMAIL: kid.feed13@gmail.com
  20. Kid Feed

    [Formação de equipe] The Flood

    SPIN GAME STUDIOS Ola a todos! Me chamo vitor,e hoje eu me registrei no forum no intuito de achar pessoas que queiram participar do nosso projeto,que explicarei detalhadamente aqui. Bem,nos últimos dias eu e meu amigo,Wesley,decidimos criar uma equipe de jogos,dito e feito,já achamos um compositor de musicas para a nossa equipe,agora falta mais alguns cargos que listarei abaixo,mas recentemente temos 2 programadores e um compositor musical,segue a lista de cargos abaixo: programador > 2 cargos modelador > 2 cargos texturizador > 1 cargo desenhista > 1 cargo projetos que pretendemos fazer: serei o mais claro possivel para tentar mostrar a voces o projeto que queremos criar,THE FLOOD. Sera um jogo de sobrevivencia em mundo aberto,em uma ilha paradisica onde varias pessoas tiram ferias,onde a piers,litorais,cidades de medio porte e comercio. O objetivo do jogo é sobreviver em pleno maior inundação que ja aconteceu na historia,que ocorrera pelo alto nivel de derretimento dos polos,oque fara que a ilha seja aos poucos,engolida pelo mar. E o jogador tera de sobreviver e ao mesmo tempo subir para que a água nao chegue a ele. CONTATO: SKYPE: kid.feed EMAIL: kid.feed13@gmail.com
  21. wneo

    Facebook Login Graph API

    Boa tarde!!! Estou implementando a api para login com facebook em uma aplicação web. Estou com dúvida de como fazer para resgatar as informações do usuário que acessou... O código que estou usando: // This is called with the results from from FB.getLoginStatus(). function statusChangeCallback(response) { console.log('statusChangeCallback'); console.log(response); // The response object is returned with a status field that lets the // app know the current login status of the person. // Full docs on the response object can be found in the documentation // for FB.getLoginStatus(). if (response.status === 'connected') { // Logged into your app and Facebook. /*testAPI();*/ } else if (response.status === 'not_authorized') { // The person is logged into Facebook, but not your app. document.getElementById('status').innerHTML = 'Please log ' + 'into this app.'; } else { // The person is not logged into Facebook, so we're not sure if // they are logged into this app or not. document.getElementById('status').innerHTML = 'Por favor, logue ' + 'com o Facebook.'; } } // This function is called when someone finishes with the Login // Button. See the onlogin handler attached to it in the sample // code below. function checkLoginState() { FB.getLoginStatus(function(response) { statusChangeCallback(response); }); } function logout() { FB.logout(function(response) { window.location.href="index.php"; }); } window.fbAsyncInit = function() { FB.init({ appId : '', cookie : true, // enable cookies to allow the server to access // the session xfbml : true, // parse social plugins on this page version : 'v2.2' // use version 2.2 }); // Now that we've initialized the JavaScript SDK, we call // FB.getLoginStatus(). This function gets the state of the // person visiting this page and can return one of three states to // the callback you provide. They can be: // // 1. Logged into your app ('connected') // 2. Logged into Facebook, but not your app ('not_authorized') // 3. Not logged into Facebook and can't tell if they are logged into // your app or not. // // These three cases are handled in the callback function. FB.getLoginStatus(function(response) { statusChangeCallback(response); }); }; // Load the SDK asynchronously (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) return; js = d.createElement(s); js.id = id; js.src = "//connect.facebook.net/pt_BR/sdk.js"; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'facebook-jssdk')); // Here we run a very simple test of the Graph API after login is // successful. See statusChangeCallback() for when this call is made. function testAPI() { console.log('Welcome! Fetching your information.... '); FB.api('/me', function(response) { console.log('Successful login for: ' + response.name); document.getElementById('status').innerHTML = 'Thanks for logging in, ' + response.name + '!'; }); } <fb:login-button scope="public_profile,email,user_friends,user_likes" auth_type= "rerequest" onlogin="checkLoginState();"></fb:login-button> Gostaria de saber como verficar os dados requisitados pelo acesso com o facebook login... Digamos que 10 usuários fizeram login em minha aplicação, como faço para ver os 10 separadamente pelo retorno Json que vem no Graph api explorer? Ou qual a melhor forma de fazer isso? Alguém sabe aí???
  22. gabrielsaraiva13

    Como colocar um video do youtube no video.js player ?

    Galera eu não entendo mt de html essas coisas , mais ja tentei de tudo e não consigo colocar um video do youtube no player video.js. esse site tem até ensinando - http://static.bini.io/cus-videos/ , só que coloquei o codigo que ele bota e não foi , e quero coloquei esse player no meu site que é um blog ,alguem pode me ajudar ??
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.