2013-07-18 2 views
0

Я использую плагин kkcountdown для таймера на веб-сайте.Добавить обратный вызов в jQuery плагин

При загрузке страницы, когда таймер не установлен, происходит раздражающее мерцание, поэтому я спрятал таймер с помощью css, и я хочу, чтобы оно исчезло, когда jQuery запущен, и таймер установлен.

Это то, что я пытаюсь сделать сейчас.

Я смотрел на функцию очереди jQuery, но мне тоже не повезло.

$(".kkcount-down").kkcountdown({ 

     dayText : 'DAY ', 
     daysText : 'DAYS<br>', 
     hoursText : ' ', 
     minutesText : ' ', 
     secondsText : 'HOURS', 
     displayZeroDays : false, 
     oneDayClass : 'one-day' 

    }, function(){ 

     $('#countdown').fadeTo(500, 1); 

    }); 
+0

Вы пытались инициировать его на $ (страницы) .load(), а затем исчезают в на $ (документ) .ready()? – James

+0

Нет, я этого не делал, я попробовал начать работу над доком, а затем исчезал при загрузке окна, но это не сработало. Теперь я просмотрю загрузку страницы. –

+0

Вы также можете попробовать метод обещания, предложенный в моем ответе. – James

ответ

0

Вы можете использовать метод jQuery promise.

Это может выглядеть примерно так

$(document).ready(function() { 

$(".kkcount-down").kkcountdown({ 

     dayText : 'DAY ', 
     daysText : 'DAYS<br>', 
     hoursText : ' ', 
     minutesText : ' ', 
     secondsText : 'HOURS', 
     displayZeroDays : false, 
     oneDayClass : 'one-day' 

    }); 

$(".kkcount-down").promise().done(function(){ 
$('#countdown').fadeTo(500, 1); 
}); 

}); 

/** ВИДЕТЬ КАК ЭТО НЕ РАБОТАЕМ ДЛЯ ВАС **/
Добавление задержки в fadeTo может дать вам эффект, который вы хотите, позволяя для kkcountdown, чтобы начать. Задержка на 1 секунду, по моему мнению, не приводит к большому количеству конечного пользователя, но это даст вам более чистый вид. Так JQuery будет

$(document).ready(function(){ 

    // custom mod on line 92 by Roko C. Buljan & C Grimshaw-Jones 
    $(".kkcount-down").kkcountdown({ 

     dayText : 'DAY ', 
     daysText : 'DAYS<br>', 
     hoursText : ' ', 
     minutesText : ' ', 
     secondsText : 'HOURS', 
     displayZeroDays : false, 
     oneDayClass : 'one-day' 

    }); 


    $('#countdown').delay(1000).fadeTo(500, 1); 

});  

JSFIDDLE

+0

Эй, я попытался реализовать это, но это не сработало, возможно, это плагин. Все еще пытаюсь выяснить метод –

+0

Можете ли вы создать базовый пример того, что вы пытаетесь достичь на JSFiddle. Я был бы рад увидеть, если я смогу немного поиграть с ним? – James

+0

Конечно, это скрипка http://jsfiddle.net/tLdZN/1/ И спасибо :-) –

Смежные вопросы