Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Запуск таймера по клику (https://javascript.ru/forum/misc/49312-zapusk-tajjmera-po-kliku.html)

Pasechnik 07.08.2014 03:47

Запуск таймера по клику
 
Приветствую!

Ребята, помогите решить одну маленькую проблему. Нужно чтобы таймер запускался по кнопке открытия спойлера, сейчас запускается при входе на страницу.

Открытие спойлера по кнопке так оформлено:

<a href="#" id="cinema" class="c-news">Видео в помощь</a>

<script type="text/javascript">
$(document).ready(function(e) { $('#cinema').click(function () { $('.player').slideToggle('slow'); return false; }); });
</script>

Нужно чтобы клик по этой же кнопке одновременно с открытием спойлера запускал следующий скрипт с таймером (сейчас при открытие странички запускается):
<script type="text/javascript">
$(function(){
    var advm_timer = 12;
    var advm_height = $('#advm_preload').parent().height();
    var advm_width = $('#advm_preload').parent().width();
    $('#advm_preload,#advm_close,.advm_loader,#advm_preload > div').css('display','block');
    $('#advm_preload').parent().find('object').append('<param name="wmode" value="opaque">');
    $('#advm_preload').parent().css('position', 'relative');
    $('#advm_preload').css({'position':'absolute', 'top':'0', 'left':'0', 'width':'600px', 'height':'350px'});
    $("#advm_timer").html(advm_timer);
    function advmPreload(){
        advm_timer = advm_timer-1;
        $("#advm_timer").html(advm_timer);
        if(advm_timer>0){
            setTimeout(function(){ advmPreload(); },1000);
        }else{
            $("#advm_preload").hide();
        }
    }
    setTimeout(function(){ advmPreload(); },1000);
    $('#advm_close, #advm_preload').click(function(){
        $('#advm_preload').hide();
    });
});
</script>

Этот скрипт приспособил закрывать картинкой с короткой инструкцией навязчивую 12 сек. рекламу на видео от пользователей. Беда, что отсчет начинается сразу же после открытия странички, а не по открытию кнопкой спойлера (видео в нем).

Обычно сам до всего дохожу, но сейчас нет ни времени на изучение языка, не денег на фрилансеров. Три месяца по вечерам допиливал сайт, последний аккорд остался, - споткнулся о javascript. Просил помочь на других форумах, порекомендовали обратиться к вам.

Очень выручите. Спасибо!

WorM32 07.08.2014 09:34

Что мешает вырезать код из нижнего куска и вставить в верхний?

Pasechnik 07.08.2014 10:39

Цитата:

Сообщение от WorM32 (Сообщение 324746)
Что мешает вырезать код из нижнего куска и вставить в верхний?

Провести хирургическую операцию с образованием слесаря-сантехника.
Можно уточнить что вырезать и как привязать к кнопке.

Pasechnik 07.08.2014 12:02

Посоветовали так сделать, - не работает:
<a href="#" id="cinema" class="c-news">Видео в помощь</a>

<script type="text/javascript">
$(document).ready(function(e) { $('#cinema').click(function () { $('.player').slideToggle('slow'); startTimer(); return false; }); });
</script>

<script type="text/javascript">
function startTimer()
{
var advm_timer = 20;
var advm_height = $('#advm_preload').parent().height();
var advm_width = $('#advm_preload').parent().width();
$('#advm_preload,#advm_close,.advm_loader,#advm_preload > div').css('display','block');
$('#advm_preload').parent().find('object').append('<param name="wmode" value="opaque">');
$('#advm_preload').parent().css('position', 'relative');
$('#advm_preload').css({'position':'absolute', 'top':'0', 'left':'0', 'width':'600px', 'height':'350px'});
$("#advm_timer").html(advm_timer);
function advmPreload(){
advm_timer = advm_timer-1;
$("#advm_timer").html(advm_timer);
if(advm_timer>0){
setTimeout(function(){ advmPreload(); },1000);
}else{
$("#advm_preload").hide();
}
}
setTimeout(function(){ advmPreload(); },1000);
$('#advm_close, #advm_preload').click(function(){
$('#advm_preload').hide();
});
});
</script>

Pasechnik 07.08.2014 14:34

Вопрос решен. Лишняя скобка в конце.:)
Цитата:

Наивно ждать помощи от чужих – в наших сказках богатый не делится даже с бедным братом. Нейах


Часовой пояс GMT +3, время: 04:40.