Ir para conteúdo

Pesquisar na Comunidade

Mostrando resultados para as tags ''contador''.

  • 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 35 registros

  1. Paulo Oliveira Albuquerque

    CONTAGEM NO MYSQLI

    Ola pessoal Eu criei o meu codigo para listar os modulos de uma tabela do banco de dados ele funciona certo Só que neste código eu quero que ele me faz uma contagem do nome da tabela que onde esta os nome preciso para a listagem Ex: /// TABELA DO MODULO /// id nome url status tabela cor_bloco 1 Nome da cidade city.php S city blue 2 Nome da cidade2 city2.php S city2 blue Obs: Esta TABELA e as das cidades que quero que faz a contagem de quantos registro tem nela No php fiz assim <?php /* Connect To Database*/ require_once ("../conexion.php"); mysqli_set_charset($con,"utf8"); $action = (isset($_REQUEST['action'])&& $_REQUEST['action'] !=NULL)?$_REQUEST['action']:''; if($action == 'ajax'){ $query = mysqli_real_escape_string($con,(strip_tags($_REQUEST['query'], ENT_QUOTES))); $tables="modulos"; $campos="*"; $sWhere=" modulos.tabela LIKE '%".$query."%' OR modulos.nome LIKE '%".$query."%' OR modulos.id LIKE '%".$query."%'"; $sWhere.=" order by modulos.id DESC"; $tables1="modulos"; $campos1="*"; $sWhere1=" modulos.tabela"; //$sWhere1.=" order by modulos.id"; include 'pagination.php'; //include pagination file //pagination variables $page = (isset($_REQUEST['page']) && !empty($_REQUEST['page']))?$_REQUEST['page']:1; $per_page = intval($_REQUEST['per_page']); //how much records you want to show $adjacents = 10; //gap between pages after number of adjacents $offset = ($page - 1) * $per_page; //Count the total number of row in your table*/ $count_query = mysqli_query($con,"SELECT count(*) AS numrows FROM $tables where $sWhere "); if ($row= mysqli_fetch_array($count_query)){$numrows = $row['numrows'];} else {echo mysqli_error($con);} $total_pages = ceil($numrows/$per_page); //main query to fetch the data $query = mysqli_query($con,"SELECT $campos FROM $tables where $sWhere LIMIT $offset,$per_page"); //loop through fetched data if ($numrows>0){ ?> <?php //Contatar o total numeros das tabelas*/ $query = mysqli_query($con,"SELECT count(*) AS numrows FROM $sWhere1 "); if ($row= mysqli_fetch_array($query)){$numrows = $row['numrows'];} else {echo mysqli_error($con);} $contagem = ceil($numrows); //main query to fetch the data $query = mysqli_query($con,"SELECT $campos1 FROM $sWhere1"); //loop through fetched data if ($numrows>0){ ?> <section class="content"> <!-- Small boxes (Stat box) --> <div class="row"> <?php $finales=0; while($modulos = mysqli_fetch_array($query)){ $id = $modulos['id']; $nome = $modulos['nome']; $url = $modulos['url']; $tabela = $modulos['tabela']; $cor_blocos = $modulos['cor_blocos']; $icone = $modulos['icone']; $status = '1'; $finales++; ?> <div class="col-lg-3 col-xs-6"> <!-- small box --> <div class="small-box bg-<?php echo ConfigPainel('cor_blocos'); ?>"> <div class="inner"> <h3><?php echo $contagem; ?></h3> <!-- AQUI É CONTADOR --> <p><?php echo $modulos['nome']; ?></p> </div> <div class="icon"> <i class="fa <?php echo $modulos['icone']; ?>"></i> </div> <a href="<?php echo $modulos['url']; ?>" class="small-box-footer">Gerenciar de Modulo <i class="fa <?php echo $modulos['icone']; ?>"></i></a> </div> </div> <!-- ./col --> <?php } } ?> <div class="col-md-12"> <div class="form-control"> <?php $inicios=$offset+1; $finales+=$inicios -1; echo "Mostrando $inicios al $finales de $numrows registros"; echo paginate( $page, $total_pages, $adjacents); ?> </div> </div> </div> <?php } } ?> </section>
  2. Ola boa tarde pessoal Quero pedir ai para os grande mestre de programação se poder me dar um caminho de desenvolvimento se isso for possivel a contagem claro. quero por no meu painel de admin e tambem dos meus clientes Quero ver se és possivél fazer contagem de compartilhamento de rede social FACEBOOK, WHATSAPP, INSTAGRAM, TWITTER e assim vai. Uma contagem de quantas vezes foram clicadas para compartilhar lembrando que estas contagem elas é pra serem feitas de acordo que for os clientes ou seja cada clientes tem suas paginas individual acho que vocês entenderam Ex: meudominio.com/cliente/listagem/cliente01 meudominio.com/cliente/listagem/cliente02 meudominio.com/cliente/listagem/cliente03 meudominio.com/cliente/listagem/cliente04 e assim vai indo! E isso for possivél podem me dizer de como eu posso começar eles? Desde já agradeço
  3. cancels

    alguem pode me ajudar ativar esse cronometro?

    tenho esse codigo no meu html que e puxado do codigo da pasta js. <!-- Theme JS --> <script src="js/jquery-2.1.4.min.js"></script> <script src="js/wow.min.js"></script> <script src="js/jquery.lwtCountdown-1.0.js"></script> <script src="js/jquery.jplayer.min.js"></script> <script src="js/vegas.min.js"></script> <script src="js/theme.js"></script> <script type="text/javascript"> function atualizaContador(YY,MM,DD,HH,MI) { var SS = 00; //Segundos var hoje = new Date(); //Dia var futuro = new Date(YY,MM-1,DD,HH,MI,SS); //Data limite do contador var ss = parseInt((futuro - hoje) / 1000); //Determina a quantidade total de segundos que faltam var mm = parseInt(ss / 60); //Determina a quantidade total de minutos que faltam var hh = parseInt(mm / 60); //Determina a quantidade total de horas que faltam var dd = parseInt(hh / 24); //Determina a quantidade total de dias que faltam ss = ss - (mm * 60); //Determina a quantidade de segundos mm = mm - (hh * 60); //Determina a quantidade de minutos hh = hh - (dd * 24); //Determina a quantidade de horas if(ss < 10) { ss = '0' + ss; } if(hh < 10) { hh = '0' + hh; } if(mm < 10) { mm = '0' + mm; } if(dd < 10) { dd = '0' + dd; } var digito_dia1 = dd.toString().substr(0,1); var digito_dia2 = dd.toString().substr(1,1); var digito_hora1 = hh.toString().substr(0,1); var digito_hora2 = hh.toString().substr(1,1); var digito_minuto1 = mm.toString().substr(0,1); var digito_minuto2 = mm.toString().substr(1,1); var digito_segundo1 = ss.toString().substr(0,1); var digito_segundo2 = ss.toString().substr(1,1); if (dd+hh+mm+ss > 0) { document.getElementById('digito_dia1').innerHTML = digito_dia1; document.getElementById('digito_dia2').innerHTML = digito_dia2; document.getElementById('digito_hora1').innerHTML = digito_hora1; document.getElementById('digito_hora2').innerHTML = digito_hora2; document.getElementById('digito_minuto1').innerHTML = digito_minuto1; document.getElementById('digito_minuto2').innerHTML = digito_minuto2; document.getElementById('digito_segundo1').innerHTML = digito_segundo1; document.getElementById('digito_segundo2').innerHTML = digito_segundo2; setTimeout(function(){atualizaContador(YY,MM,DD,HH,MI)},1000);//Reinicia a função a cada um segundo } else { document.getElementById('digito_dia1').innerHTML = '0'; document.getElementById('digito_dia2').innerHTML = '0'; document.getElementById('digito_hora1').innerHTML = '0'; document.getElementById('digito_hora2').innerHTML = '0'; document.getElementById('digito_minuto1').innerHTML = '0'; document.getElementById('digito_minuto2').innerHTML = '0'; document.getElementById('digito_segundo1').innerHTML = '0'; document.getElementById('digito_segundo2').innerHTML = '0'; setTimeout(function(){atualizaContador(YY,MM,DD,HH,MI)},1000); } } </script>
  4. Wanderson Moreira

    cookies em URL diferentes

    Olá, tenho um site que tem suas postagens.. gostaria um contador de visitas para as postagens eu fiz um script que utiliza cookie (assim se a pessoa ficar atualizando a pagina não aumenta o contador de visitas da postagem) o problema é que se entrar em uma postagem ele executa o script corretamente se eu entrar em uma segunda postagem ele já não conta, pois o cookie já foi executado como posso fazer para o código ser verificado por URL (executar novamente se a URL for diferente) segue o código que uso <?php $biscoito=$_COOKIE[acessada]; if(empty($biscoito)){ setcookie( "acessada", "sim", strtotime( '+1 days' ), '/' ); // 24 horas //pega o id da pagina $idDaPagina = $id; //Busca na tabela o numero de vezes que a página ja foi visitada $busca = "Select * FROM portfolio WHERE id = {$idDaPagina}"; $exe = mysql_query($busca); $resultado = (mysql_fetch_array($exe)); //Pega o numero de visistas que consta na tabela, adiciona mais um e atualiza $visitantes = $resultado['views'] + 1; $altera = "UPDATE portfolio SET views = '{$visitantes}' WHERE id = '{$idDaPagina}'"; $exe1 = mysql_query($altera); //Faz uma nova busca e retorna o numero de visitas depois da atualização $exe = mysql_query($busca); $total = (mysql_fetch_array($exe)); $visitas = $total['views']; } ?> Agradeço desde já
  5. vostrotelecom

    Contador regressivo não funciona

    Bom dia pessoal, gostaria de solicitar a ajuda dos caros colegas... Coloquei um contador regressivo em um site para a igreja a qual sou membro, o abençoado funciona bonitinho visualmente, mais na prática nada!!! Está online para os caros verem o que pode ser o problema, pois sempre que a página é atualizada o mesmo inicia a contagem novamente, não parte de onde estava dando continuidade a contagem. www.aformosajerusalem.com.br
  6. master2015

    Contador Regressivo não abre no Iphone e Ipad

    Boa tarde pessoal, Estou pesquisando há algum tempo sobre esse problema, mas não encontrei a solução. Espero que me ajudem. Eu criei um contador regressivo para meu site, e ele está funcionando perfeitamente em sistemas Android e também no Chrome e Firefox. Mas, hoje eu testei ele no Iphone e no Ipad e onde era para aparecer os números dos contadores, está aparecendo "aN" . Eu testei o Chrome e o Safari no Ipad e Iphone e problema aparece do mesmo jeito. Segue o código que eu estou usando: <script> function getTimeRemaining(endtime) { var t = Date.parse(endtime) - Date.parse(new Date()); var seconds = Math.floor((t / 1000) % 60); var minutes = Math.floor((t / 1000 / 60) % 60); var hours = Math.floor((t / (1000 * 60 * 60)) % 24); var days = Math.floor(t / (1000 * 60 * 60 * 24)); return { 'total': t, 'days': days, 'hours': hours, 'minutes': minutes, 'seconds': seconds }; } function initializeClock(id, endtime) { var clock = document.getElementById(id); var daysSpan = clock.querySelector('.days'); var hoursSpan = clock.querySelector('.hours'); var minutesSpan = clock.querySelector('.minutes'); var secondsSpan = clock.querySelector('.seconds'); function updateClock() { var t = getTimeRemaining(endtime); daysSpan.innerHTML = ('0' + t.days).slice(-2); hoursSpan.innerHTML = ('0' + t.hours).slice(-2); minutesSpan.innerHTML = ('0' + t.minutes).slice(-2); secondsSpan.innerHTML = ('0' + t.seconds).slice(-2); if (t.total <= 0) { clearInterval(timeinterval); } } updateClock(); var timeinterval = setInterval(updateClock, 1000); } var deadline = '2017-11-20 00:00:00 GMT-0200'; initializeClock('clockdiv', deadline); </script> Desde já, obrigado.
  7. AndersonWS

    Inverter contador

    Preciso inverter esse contador, ele funciona bem mas, ao invés de contagem regressiva, preciso que seja uma contagem progressiva iniciando em 0 segundos pra +. Quero fazer isso para depois gravar no banco de dados quanto tempo o usuário ficou logado no último login e também por estética mostrar pro usuário o tempo decorrido em "real time". Segue o código: <?php session_start(); $tempo_atual = @mktime(date("Y/m/d H:i:s")); $tempo_permitido = 30; // tempo em segundos até redirecionar $fim = ""; if(@$_SESSION['Cookie_countdown']=="") { $tempo_entrada = @mktime(date("Y/m/d H:i:s")); $tempo_cookie = '3600'; // em segundos $_SESSION['Cookie_countdown'] = $tempo_entrada; } else { $tempo_gravado = $_SESSION['Cookie_countdown']; $tempo_gerado = $tempo_atual-$tempo_gravado; $fim.= $tempo_permitido-$tempo_gerado; if($fim <= 0) { echo "tempo esgotado"; $_SESSION['Cookie_countdown'] = ""; } else { } } ?> <script language="JavaScript"> var contador = '<?php if($fim=="") { echo $tempo_permitido+1; } else { echo "$fim"; } ?>'; function Conta() { if(contador <= 0) { location.href='logout.php'; return false; } contador = contador-1; setTimeout("Conta()", 1000); document.getElementById("valor").innerHTML = contador; } window.onload = function() { Conta(); } </script> <div id="valor"></div> Podem me ajudar a modificar esse script ou se tiver algum outro exemplo que faça o que eu preciso também. Já procurei muito mas só acho contador regressivo... Grato.
  8. 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));
  9. Wanderson Moreira

    Contador de visitas individual por cookie

    Olá estou fazendo um site que tem varias postagens diferentes e uso um script de contador de visualizações que atualiza meu banco a cada acesso das postagens o problema é q se eu entrar em determinada postagem e ficar apertando F5 ele vai ficar atualizando o contador queria controlar isso por cookie, que ele não permita atualizar o contador quando atualize a pagina, que atualizasse no máximo se o usuário visitasse a postagem novamente após 1hora alguém pode ajudar? segue o código atual desde já obrigado! <?php //Pega o id da pagina $idDaPagina = $id; //Busca na tabela o numero de vezes que a página ja foi visitada $busca = "Select * FROM portfolio WHERE id = {$idDaPagina}"; $exe = mysql_query($busca); $resultado = (mysql_fetch_array($exe)); //Pega o numero de visistas que consta na tabela, adiciona mais um e atualiza $visitantes = $resultado['views'] + 1; $altera = "UPDATE portfolio SET views = '{$visitantes}' WHERE id = '{$idDaPagina}'"; $exe1 = mysql_query($altera); //Faz uma nova busca e retorna o numero de visitas depois da atualização $exe = mysql_query($busca); $total = (mysql_fetch_array($exe)); $visitas = $total['views']; ?>
  10. Wanderson Moreira

    Contador de visitas individual por cookie

    Olá estou fazendo um site que tem varias postagens diferentes e uso um script de contador de visualizações que atualiza meu banco a cada acesso das postagens o problema é q se eu entrar em determinada postagem e ficar apertando F5 ele vai ficar atualizando o contador queria controlar isso por cookie, que ele não permita atualizar o contador quando atualize a pagina, que atualizasse no máximo se o usuário visitasse a postagem novamente após 1hora alguém pode ajudar? segue o código atual desde já obrigado! <?php //Pega o id da pagina $idDaPagina = $id; //Busca na tabela o numero de vezes que a página ja foi visitada $busca = "Select * FROM portfolio WHERE id = {$idDaPagina}"; $exe = mysql_query($busca); $resultado = (mysql_fetch_array($exe)); //Pega o numero de visistas que consta na tabela, adiciona mais um e atualiza $visitantes = $resultado['views'] + 1; $altera = "UPDATE portfolio SET views = '{$visitantes}' WHERE id = '{$idDaPagina}'"; $exe1 = mysql_query($altera); //Faz uma nova busca e retorna o numero de visitas depois da atualização $exe = mysql_query($busca); $total = (mysql_fetch_array($exe)); $visitas = $total['views']; ?>
  11. Username_

    Javascript com MySQL?

    Olá, Gostaria de saber se é possível salvar dados no MySQL utilizando Javascript. Tem como fazer isso? Alguém teria um código de exemplo? Pergunto isso pois tenho uma variável em Javascript que gostaria de usar no PHP mas não estou conseguindo acessá-la no PHP. Então gostaria de salvar em um banco de dados e recuperá-lo em PHP. Será que é viável? Pois a variável é atualizada a cada 60 segundos, pois é um contador. Obrigado.
  12. Username_

    Código Contador Progressivo em PHP

    Olá, Alguém teria um código em PHP de um contador de 0 a 60 segundos que fica se repetindo? (Eu tenho um em Javascript mas não está integrado com o PHP, o que é meu problema) Obrigado.
  13. Username_

    PHP e Javascript

    Olá, Eu tenho um código que implementa um 'contador' em Javascript. Ele atualiza na tela de 1 em 1 segundos, conta até 60 e adiciona 3 turnos na variável 'Turno'. Eu consegui imprimir a variável 'Turno' que está em Javascript no PHP(está no código postado). Porém eu gostaria que o código em PHP estivesse integrado com o código em Javascript para utilizar o contador em Javascript. Como eu faço essa integração entre PHP e Javascript? Código: <html> <head> <title>Título</title> <meta http-equiv="content-type" content="text/html;charset=utf-8" /> <style type="text/css"> .texto {color:#B000FF;} .static { position:static; } .contador { position: relative; top: 0px; left: 30px; background-color: black; color: white; width: 130px; height: 30px; } .PalavraTempo { position: relative; position: center; top: 70px; left: 30px; background-color: black; color: white; width: 130px; height: 30px; } .TurnosDisponiveis { position: relative; position: center; top: 100px; left: 30px; background-color: black; color: white; width: 130px; height: 30px; } .Turnos { position: relative; position: center; top: 100px; left: 30px; background-color: black; color: white; width: 130px; height: 30px; } .php { position: relative; position: center; top: 100px; left: 30px; background-color: black; color: white; width: 130px; height: 30px; } </style> </head> <body> <div class="PalavraTempo"> Tempo </div> <div class="TurnosDisponiveis"> Turnos Disponíveis: </div> <div class="Turnos"> </div> <div class="contador"> <script type="text/javascript"> var intervalo = window.setInterval('funcao()',1000); var contador = 0; var Turno = 0; function funcao() { //window.alert("Ola"); //document.write("Ola mundo"); //document.write(intervalo); while (contador <= 60) { if (contador == 60) { contador = 0; Turno = Turno + 3; break; //document.write("<br>"); } elementosHTML = document.getElementsByClassName("contador"); //document.write("<div class='relativo'>"); //document.write(contador); elementosHTML[0].innerHTML = " " + " " +contador; turnosHTML = document.getElementsByClassName("Turnos"); turnosHTML[0].innerHTML = " " +Turno + ""; //window.location.reload(); //document.write("</div>"); contador++; //window.location.reload(); break; } } </script> <div class="php"> <?php $variavelphp = "<script type='text/javascript'> document.write(Turno) </script>"; echo "Teste $variavelphp"; ?> </body> </html> Obrigado.
  14. Marcones Borges

    Como fazer contar em tempo real

    Boa tarde tenho em minha página um código que mostra o tempo esgotando para um determinado produto, o problema é que ele não atualiza automático só se eu apertar F5, para ele ir contando, como eu faço para funcionar online. date_default_timezone_set('America/Sao_Paulo'); $dataAtual = date("Y-m-d H:i:s"); $final = $data . ' ' . $hora; $timestamp_dataAtual = strtotime($dataAtual); $timestamp_final = strtotime($final); if ($timestamp_dataAtual < $timestamp_final) { $start = new \DateTime($dataAtual); $end = new \DateTime($final); $interval = $end->diff($start); $time = sprintf( '%d:%02d:%02d', ($interval->d * 24) + $interval->h, $interval->i, $interval->s ); echo "<spam>" . $data . " &nbsp;&nbsp;" . $hora ."</spam><spam id='contador'>" . $time . "</spam><br/>"; como faço para ele contar ?
  15. Prezados, boa noite. Mais uma vez estou precisando de uma ajuda de vocês. Antes de mais nada, tentei procurar na Net e não encontrei a solução. Preciso fazer um contador regressivo em Horas Minutos Segundos e Milisegundos, o que está faltando funcionar seria o Milisegundos. Segue code <!-- Display the countdown timer in an element --> <p id="demo"></p> <script> // Set the date we're counting down to var countDownDate = new Date("7 29, 2017 00:00:00:00").getTime(); // Update the count down every 1 second var x = setInterval(function() { // Get todays date and time var now = new Date().getTime(); // Find the distance between now an the count down date var distance = countDownDate - now; // Time calculations for days, hours, minutes and seconds //var days = Math.floor(distance / (1000 * 60 * 60 * 24)); var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)); var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60)); var seconds = Math.floor((distance % (1000 * 60)) / 1000); var miliseconds = Math.floor(); // Display the result in the element with id="demo" document.getElementById("demo").innerHTML = hours + ":" + minutes + ":" + seconds + ":" + miliseconds; // If the count down is finished, write some text if (distance < 0) { clearInterval(x); document.getElementById("demo").innerHTML = "PROMOÇÃO ENCERRADA!"; } }, 1000); </script> Este é um exemplo que consegui pegar na Internet. O que estaria precisando também, seria se o dígito tiver 1 casa, por exemplo 3:1:9, apresenta-se 03:01:09. Se tiverem alguma script melhor ou sugestão... Desde já agradeço a atenção de todos!
  16. Ana Gauna

    Contador de Visitas

    No meu site uso os códigos do Bootstrap em alguns itens. Quero tirar uma dúvida. A chamada de código javascript e css do Bootstrap anula os comandos do código PHP? Eu notei que quando eu chamo o Bootstrap dentro do head o código php não funciona. Tenho um código PHP de contador de visitantes. Ele sozinho funciona. Ele junto com o Bootstrap ele não funciona. Tem algum modo de fazer o código PHP funcionar junto com o Bootstrap? Boa noite <? php $arquivo = "contadorvisitas.txt"; $contador = (integer)0; $fp = fopen($arquivo,"r"); $contador = fgets($fp, 26); fclose($fp); ++$contador; $fp = fopen($arquivo,"w+"); fwrite($fp, $contador, 26); fclose($fp); echo "Esta página foi visitada $contador vezes"; ?> <!-- BOOTSTRAP --> <meta name="viewport" content="width=device-width, initial-scale=1"> <!-- uso com Bootstrap para Mobile --> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous"> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous"> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
  17. alexandrejher

    Contador de acessos

    Olá amigos. Tenho um site e quero colocar um contador de acessos que sege bem discreto e funcione. Estou tentando aprender a confeccionar no Dw que eu acho bem fácil. Sei que tenho um longo caminho até aprender. Se puderem me ajudar eu agradeço.
  18. SRodrigues

    Contador acesso Site com SQL e PHP

    Boa Tarde Pessoal, Implementei um contador de acesso para um site que salva em um banco SQL as informações: id(auto incremento), ip, horarioAcesso. Percebi que em um intervalo de 1 dia teve mais de 1000 acessos e que os IPS se repetiam bastante e com com um certo padrão de acesso no ID e no Horário de Acesso, a imagem abaixo demonstra isso. enfim.. Existe uma Include no Index.php dentro do <BODY>. assim: <?php include 'contadorsite.php'; ?> e o código do arquivo "contadorsite.php" <?php $ip = $_SERVER['REMOTE_ADDR']; $dat = ''; date_default_timezone_set('America/Sao_Paulo'); $socket = fsockopen('udp://pool.ntp.br', 123, $err_no, $err_str, 1); if ($socket) { if (fwrite($socket, chr(bindec('00'.sprintf('%03d', decbin(3)).'011')).str_repeat(chr(0x0), 39).pack('N', time()).pack("N", 0))) { stream_set_timeout($socket, 1); $unpack0 = unpack("N12", fread($socket, 48)); $dat = date('Y-m-d H:i:s', $unpack0[7]); } fclose($socket); } $conexao = mysqli_connect('mysql.hostinger.com.br','xxxx','xxxx','xxxx'); mysqli_set_charset($conexao, 'utf8'); $sql = "INSERT INTO contador VALUES"; $sql .= "('id','$ip','$dat')"; if($conexao->query($sql) == TRUE){ // echo "usuario sucesso"; }else{ // echo("erro:". $sql); } ?> então.. não consigo entender o que realmente acontece.. Alguém tem uma ideia ? Agradeço
  19. Olá eu estou criando um contador de inscritos e queria que quando colocassem seu canal o fundo mudasse de acordo com a cor do canal semelhante a esse contador : https://subscribercounter.com/
  20. m13brasil

    Contador de dias com base ao horário da pc

    Preciso de um contador de dias dinâmico que mude de dia 1 pra dia 2 até o dia 100, todos os dias as 18hs em cada país (não quero que mude as 12 da noite, somente as 6 da tarde) (sem necessidade de atualizar o site pra que mude de dia). Alguém sabe de algum exemplo?
  21. Mr. Whyte

    Contador de Caracteres

    Eu estou tentando fazer o seguinte: Tenho 5 botões, Botão A, Botão B, Botão C, Botão D e Botão E! E tem uma caixa para a pessoa escrever! Eu preciso que quando a pessoa escrever 20 caracteres, o botão A apareça, 40 caracteres o botão B e assim por diante... Alguem sabe fazer isso ou consegue me ajudar?
  22. Olá, estou usando esses botões no meu projeto, <button class="btn1" onclick="dispara('c1')">Clique aqui</button> <span id="c1" inicial="1"></span> <button class="btn2" onclick="dispara('c2')">Clique aqui</button> <span id="c2" inicial="2"></span> <button class="btn3" onclick="dispara('c3')">Clique aqui</button> <span id="c3" inicial="3"></span> <button class="btn4" onclick="dispara('c4')">Clique aqui</button> <span id="c4" inicial="3600"></span> Cada um deles com um tempo diferente, $('.btn1').click(function() { var button = $(this); button.addClass('disabled').text('Aguarde...'); setTimeout(function() { button.removeClass('disabled').text('Clique aqui'); /* 1min. */ }, 60000); }); $('.btn2').click(function() { var button = $(this); button.addClass('disabled').text('Aguarde...'); setTimeout(function() { button.removeClass('disabled').text('Clique aqui'); /* 2min. */ }, 120000); }); $('.btn3').click(function() { var button = $(this); button.addClass('disabled').text('Aguarde...'); setTimeout(function() { button.removeClass('disabled').text('Clique aqui'); /* 3min. */ }, 180000); }); $('.btn4').click(function() { var button = $(this); button.addClass('disabled').text('Aguarde...'); setTimeout(function() { button.removeClass('disabled').text('Clique aqui'); /* 1h. */ }, 3600000); }); Visualizar botões aqui: https://jsfiddle.net/4h3pnL26/10/ Minhas Questões são as seguintes, 1 - quando eu atualizo a pagina os botões voltam a ficar habilitados, que alterações devo fazer pra arrumar? 2 - como fazer cada botão iniciar um contador regressivo de acordo com seus respectivos tempos? (c1, c2, c3 e c4) 3 - como seria o código desse contador regressivo? Desde já eu agradeço...
  23. Deizi Buganti

    Como fazer um contador de clicks PHP, HTML, MYSQL

    Boa tarde, Primeiramente, estou usando o Framework CodeIgniter e uso também o Bootstrap. Agora, em uma de minhas páginas eu tenho uma imagem que é mapeada (utilizo a tag map) conforme abaixo: <img src="<?php echo base_url('/assets/midia/ambientes/parque.png');?>" alt="Parque" usemap="#Map" /> <map name="Map" id="Map"> <area alt="Sol" id="sol" href="<?php echo base_url('assets/midia/videos/video.mp4');?>" class="html5lightbox" title="Sol" shape="rect" coords="52,11,169,114"/> </map> No caso, tenho a imagem de um parque no qual a área dessa imagem que tem o sol, é "clicável", quando a mesma for clicada ela abre um vídeo. Como eu poderia fazer para que quando o usuário clicasse nessa área (sol), além de abrir o vídeo, fosse atualizado no banco de dados (mysql) a minha tabela, onde eu tenho o nome da imagem e uma variável que receberia a contagem dos cliques (qtdclick), tabela: CREATE TABLE `preferencia` ( `codpreferencia` int(11) NOT NULL, `nomeimg` varchar(200) NOT NULL, `qtdclick` int(11) NOT NULL ) Eu preciso dessa contagem para depois poder gerar alguns gráficos de preferência dos usuários para colocar em um artigo. Desse modo, preciso que a contagem somente aconteça quando ocorrer o click na área citada. Vi que isso deve ser feito em PHP, até encontrei alguns exemplos, mas não se encaixaram nisso que eu preciso. Se alguém puder me ajudar, agradeço.
  24. Rzorr

    Cronometro Digital infinito

    Boa dia, Estou começando agora em JavaScript e queria fazer um cronometro que nunca pare, vou tentar explicar melhor. Exemplo eu tenho um post e quero mostrar nele o tempo que ele esta no ar, mas isso que fazer em horas. mas quero deixar isso rodando infinitamente. então se o usuário entra hoje vai estar rodando ex: 11:34:00, ai se eles entrar depois de 2 dias vai mostra 37:34:00 mais isso fica rodando, se ele ficar com a pagina aberta ele vai ficar vendo os números rodar. *O que eu sei até agora? R:Quase nada. *O que eu tenho? R: Um script que quando entra na pagina dispara.(mas não isso que eu preciso, preciso que fique rodando independeste de ser usuário A, B ou C acessarem a página. Segue script que eu tenho. desde já agradeço e peço desculpa se tiver postado no lugar errado. Obrigado. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Cronometro Infinito</title> <style type="text/css"> *{ margin:0; padding:0; } body{ background:#CCC; color:#FFF; font-family:Arial, Helvetica, sans-serif; text-align:center; } #topo{ background:#069; height:100px; line-height:100px; border-bottom:2px solid #006; } h2 a{ color:#069; text-decoration:none; } h2 a:hover{ color:#006; } input{ background:#ccc; width:600px; height:200px; line-height:200px; font-size:150px; border:none; } </style> <script type="text/javascript" language="JavaScript"> var segundo = 0+"0"; var minuto = 0+"0"; var hora = 0+"0"; function tempo(){ if (segundo < 59){ segundo++ if(segundo < 10){segundo = "0"+segundo} }else if(segundo == 59 && minuto < 59){ segundo = 0+"0"; minuto++; if(minuto < 10){minuto = "0"+minuto} } if(minuto == 59 && segundo == 59 && hora < 23){ segundo = 0+"0"; minuto = 0+"0"; hora++; if(hora < 10){hora = "0"+hora} }else if(minuto == 59 && segundo == 59 && hora == 23){ segundo = 0+"0"; minuto = 0+"0"; hora = 0+"0"; } form.cronometro.value = hora +":"+ minuto +":"+ segundo } </script> </head> <body name="form" onload="setInterval('tempo()',983);return false;"> <div id="topo"> <h1>Cronômetro Digital Online com Javascript</h1> </div> <form name="form"> <input type="text" name="cronometro" value="00:00:00" /> <br /> </form> <br /> </body> </html>
  25. ldtech.ldtech

    Loop_Python

    Boa tarde, Python Gostaria que me ajudassem da seguinte maneira, conheci a linguagem recentemente , seguinte um código que inicie em 'y' e conte até 'x' e reinicie até finalizar os valores igual a zero ou maior. exemplo inicie em 1 e/ou 5 e finalize em 30 e/ou 40. Fico agradecido. :D :D :D :)
×

Informação importante

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