Форум программистов, компьютерный форум, киберфорум
Наши страницы
jQuery
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
Teterichev
2 / 2 / 0
Регистрация: 04.11.2013
Сообщений: 100
1

Выполнение функции только после второго нажатия на div

04.11.2013, 09:20. Просмотров 1954. Ответов 10
Метки нет (Все метки)

О Кодо-Боги!!!
На div вешаю функцию play/pause, все ок, но играть начинает только со второго клика (!). Дальше все норм, и play и pause работают с первого. Только после перезагрузки страницы надо два раза жать.
Вешал эту функцию на button - все супер, работа с первого клика - тру, но нужны div'ы ))


Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
<script> 
$(function(){ 
    $('div.quadrate1').click(function(){
        if($(this).text()=='Play') {
           document.getElementById("audioplayer541").sendToUppod("play");  
           $(this).text('Pause'); 
         }else{ 
           document.getElementById("audioplayer541").sendToUppod("pause"); 
           $(this).text('Play'); 
        } 
    }); 
}); 
</script>
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.11.2013, 09:20
Ответы с готовыми решениями:

Чтобы кнопка двигалась вверх после одного нажатия и вниз после второго
Тогда у меня другой вопрос, вот код, при нажатии на кнопку run, она двигается вниз, что нужно...

Изменение div после нажатия
В общем у меня есть div. я его использую как ссылку при нажатии на которую идет загрузка документа...

Скрыть div после нажатия на него
Здравствуйте. Есть блок текста с &quot;Читать далее&quot;. После нажатие на читать далее все как обычно, блок...

Выполнение скрипта после нажатия на кнопку и перезагрузки страницы
Здравствуйте! Нажимаю на кнопку, страница перезагружается но скрипт не выполняется ...

Метод вызывается только после второго нажатия на кнопку
есть метод import com.github.nkzawa.emitter.Emitter; import...

10
sMockingbird
282 / 282 / 72
Регистрация: 06.05.2013
Сообщений: 1,613
04.11.2013, 10:42 2
Покажите код, который на диве висит.
Скорее всего надо обернуть в document.ready
Javascript
1
2
3
4
5
$(document).ready(function(){
$("div.quadrate1")....
тут Ваш код
...
});
1
Web_Master
112 / 112 / 18
Регистрация: 24.09.2013
Сообщений: 509
04.11.2013, 12:03 3
А с самого начала в <div class="quadrate1"></div> какой написан текст? Если там пусто или какое-то другое слово, то пропишите там слово Pause: <div class="quadrate1">Pause</div>

Если не поможет, то можно так попробовать:
Javascript
1
2
3
4
5
6
7
8
9
10
11
<script> 
 $(function(){ 
 $('div.quadrate1').toggle(function(){
    $("#audioplayer541").sendToUppod("play" ); 
    $(this).text('Pause'); 
 },function(){
   $("#audioplayer541").sendToUppod("pause "); 
    $(this).text('Play'); 
 });
}); 
 </script>
1
vovandr
632 / 519 / 195
Регистрация: 19.08.2013
Сообщений: 1,400
04.11.2013, 12:16 4
toggle в новых версиях jquery не будет работать
1
04.11.2013, 12:16
Web_Master
112 / 112 / 18
Регистрация: 24.09.2013
Сообщений: 509
04.11.2013, 12:17 5
Цитата Сообщение от vovandr Посмотреть сообщение
toggle в новых версиях jquery не будет работать
Воу, откуда такая инфа?
1
vovandr
632 / 519 / 195
Регистрация: 19.08.2013
Сообщений: 1,400
04.11.2013, 12:23 6
С официального сайта:
.toggle( handler(eventObject), handler(eventObject) [, handler(eventObject) ] )Returns: jQueryversion deprecated: 1.8, removed: 1.9
1
Teterichev
2 / 2 / 0
Регистрация: 04.11.2013
Сообщений: 100
04.11.2013, 12:56  [ТС] 7
Обернуть в document.ready не помогло. В div'е написано Play, ставил Pause - не помогло. А если через toggle - этот div в момент загрузки страницы быстро уменьшается и исчезает ))
С нетерпением жду продолжения )

Добавлено через 4 минуты
Ну и код div'а

<div class="quadrate1" id="quadrate1">Play</div>
0
vovandr
632 / 519 / 195
Регистрация: 19.08.2013
Сообщений: 1,400
04.11.2013, 13:03 8
А консоль ошибки выдаёт при первом клике?
1
sMockingbird
282 / 282 / 72
Регистрация: 06.05.2013
Сообщений: 1,613
04.11.2013, 13:05 9
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<script> 
$(function(){ 
$('div.quadrate1').click(function(){
if($(this).text()=='Play') {
alert ("ok");
document.getElementById("audioplayer541").sendToUppod("play" ); 
$(this).text('Pause'); 
}else{ 
document.getElementById("audioplayer541").sendToUppod("pause "); 
$(this).text('Play'); 
} 
}); 
}); 
</script>
если у Вас див такой

HTML5
1
<div class="quadrate1" id="quadrate1">Play</div>
то должен alert выйти, с первого раза причём.

попробуйте
1
Soldado
731 / 722 / 137
Регистрация: 28.06.2012
Сообщений: 1,318
Записей в блоге: 4
04.11.2013, 13:16 10
Устанавливаем метку (переменная flag), с её помощью будем отслеживать, что нужно отправлять Pause или Play
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
var flag=1;
 $('div.quadrate1').click(function(){
    if(flag==1){
        $("#audioplayer541").sendToUppod("play" ); 
        $(this).text('Pause');
         flag=2;
    }
    else {
        $("#audioplayer541").sendToUppod("pause "); 
        $(this).text('Play');
        flag=1;
    }
 
 });
 
 });/*end  ready*/
 </script>
Или просто смотрим, что записано (такой вариант уже есть)
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
    
 <script type="text/javascript">
$(document).ready(function(){
    
 $('div.quadrate1').click(function(){
 
    if($(this).text()=="Play"){
        $("#audioplayer541").sendToUppod("play" ); 
        $(this).text('Pause');
        
    }
    else {
        $("#audioplayer541").sendToUppod("pause "); 
                $(this).text('Play');
        
    }
 
 });
 
 });/*end  ready*/
 </script>
1
Teterichev
2 / 2 / 0
Регистрация: 04.11.2013
Сообщений: 100
04.11.2013, 13:54  [ТС] 11
Огромное всем Вам спасибо! Прокатило через счетчик (метку). Вот только почему не работает:

$("#audioplayer541").sendToUppod("play" );

а работает:

document.getElementById("audioplayer541").sendToUppod("play");

??

P.S. Алерт так и не выводился, консоль на первый клик молчала ))
0
04.11.2013, 13:54
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.11.2013, 13:54

Продолжить выполнение программы только после нажатия определенной клавиши.
Здравствуйте. Столкнулся с проблемой, необходимо приостановить ход программы : ...

Программа принимает значение индентификатора team только после второго нажатия enter
Вот фрагмент программы: char team; do { cin &gt;&gt; team; switch (team) { case '+':...

Выполнение действий после нажатия кнопки
у меня есть html файл и php файл с обработчиком событий внутри!!! В html файле я добавил кнопку!!!...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.