Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.08.2014, 03:47
Новичок на форуме
Отправить личное сообщение для Pasechnik Посмотреть профиль Найти все сообщения от Pasechnik
 
Регистрация: 07.08.2014
Сообщений: 4

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

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

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

<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. Просил помочь на других форумах, порекомендовали обратиться к вам.

Очень выручите. Спасибо!
Ответить с цитированием
  #2 (permalink)  
Старый 07.08.2014, 09:34
Профессор
Отправить личное сообщение для WorM32 Посмотреть профиль Найти все сообщения от WorM32
 
Регистрация: 11.02.2014
Сообщений: 303

Что мешает вырезать код из нижнего куска и вставить в верхний?
Ответить с цитированием
  #3 (permalink)  
Старый 07.08.2014, 10:39
Новичок на форуме
Отправить личное сообщение для Pasechnik Посмотреть профиль Найти все сообщения от Pasechnik
 
Регистрация: 07.08.2014
Сообщений: 4

Сообщение от WorM32 Посмотреть сообщение
Что мешает вырезать код из нижнего куска и вставить в верхний?
Провести хирургическую операцию с образованием слесаря-сантехника.
Можно уточнить что вырезать и как привязать к кнопке.
Ответить с цитированием
  #4 (permalink)  
Старый 07.08.2014, 12:02
Новичок на форуме
Отправить личное сообщение для Pasechnik Посмотреть профиль Найти все сообщения от Pasechnik
 
Регистрация: 07.08.2014
Сообщений: 4

Посоветовали так сделать, - не работает:
<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>
Ответить с цитированием
  #5 (permalink)  
Старый 07.08.2014, 14:34
Новичок на форуме
Отправить личное сообщение для Pasechnik Посмотреть профиль Найти все сообщения от Pasechnik
 
Регистрация: 07.08.2014
Сообщений: 4

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



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запуск скрипта по клику psychomonkey jQuery 7 21.01.2014 15:49
Открытие/закрытие дива по клику ссылки и закрытие по клику вне слоя vertmann Общие вопросы Javascript 3 18.11.2013 14:36
Помогите сделать так чтоб по клику открывалось и по клику же закрывалось Maxsl_89 Элементы интерфейса 1 25.10.2013 16:11
Загрузка контента в центральный фрейм по клику в tree.Panel sergeyv ExtJS 9 06.09.2013 20:40
запретить повторный запуск таймера setInterval-clearInterval mrWong Общие вопросы Javascript 1 01.02.2010 12:25