Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> почему событие срабатывает один раз 
:(
    Опции темы
supervladislav
Дата 29.11.2012, 15:48 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


///\\\///\\\///\\\
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 18.5.2006

Репутация: нет
Всего: -9



Такая задача: нужно менять текст по нажатию клавиш кнопок  влево или вправо    http://vestasoft.ru/.




Иногда слой слайдшоу 2 показывается два раза ,почему не понятно.   




Д


Код

  <script type="text/javascript">
      function leftshow(){
          
          if(document.getElementById('slideshow1').style.display='block'){
              document.getElementById('slideshow1').style.display='none';
               document.getElementById('slideshow2').style.display='block';}
             else if(document.getElementById('slideshow2').style.display='block'){
                 document.getElementById('slideshow2').style.display='none';
               document.getElementById('slideshow3').style.display='block';
            } else if(document.getElementById('slideshow3').style.display='block'){
                document.getElementById('slideshow3').style.display='none';
                document.getElementById('slideshow4').style.display='block'
            }else if(document.getElementById('slideshow4').style.display='block') {
                document.getElementById('slideshow4').style.display='none';
                 document.getElementById('slideshow1').style.display='block';
            }} 
      
      function rightshow(){
          if(document.getElementById('slideshow4').style.display='block'){
              document.getElementById('slideshow1').style.display='none';
               document.getElementById('slideshow3').style.display='block';}
             else if(document.getElementById('slideshow3').style.display='block'){
                 document.getElementById('slideshow3').style.display='none';
               document.getElementById('slideshow2').style.display='block';
            } else if(document.getElementById('slideshow2').style.display='block'){
                document.getElementById('slideshow2').style.display='none';
                document.getElementById('slideshow4').style.display='block'
            }else if(document.getElementById('slideshow1').style.display='block') {
                document.getElementById('slideshow1').style.display='none';
                 document.getElementById('slideshow4').style.display='block';
            }
          
      }
       
       
   </script>



Код

<div id="uk_left" onclick="leftshow();" ondblclick="leftshow();"></div>
                      <div id="uk_right" onclick="rightshow();" ondblclick="leftshow();"></div>
                      <div id="slideshow2">
                      <p id="one">Начать работу можно за минуты. Новые учетные записи пользователей создаются за секунды.</p>    
                          
                      </div>
                      <div id="slideshow3"> <p id="one">Начать работу можно за минуты. Новые учетные записи пользователей создаются за секунды.</p>  </div>
                      <div id="slideshow4"><p id="one">Вас защитит встроенная технология борьбы с вирусами и нежелательной почтой</p></div>
                      
                      <div id="slideshow1">
</div>
 
Второй раз событие почему-то несрабатывает

Это сообщение отредактировал(а) supervladislav - 29.11.2012, 16:07
PM MAIL   Вверх
skyboy
Дата 29.11.2012, 15:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 10
Всего: 260



Код

if(document.getElementById('slideshow2').style.display='block'){
                 document.getElementById('slideshow2').style.display='none';

сначала присваиваешь 'block', а потом сразу же — 'none'
и так везде.
P.S. мне кажется, ты глумишься. сложно поверить, что такой код пишет человек, который только на форуме зареген 6 лет назад, а уж сколько программированием занимается — вообще фиг знает.
PM MAIL   Вверх
supervladislav
Дата 29.11.2012, 16:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


///\\\///\\\///\\\
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 18.5.2006

Репутация: нет
Всего: -9



skyboy,я таким образом проверяю какой блок отображается в текущий момент отображаться то  должен только один блок.

Добавлено через 9 минут и 20 секунд
Я делаю так: смотрим какой из блоков блок потом отключаем его в ноне.
И так строим цепочку от первого до последнего ,а кнопке которая отвечает за райт тоже самое но наоборот.

PM MAIL   Вверх
Arantir
Дата 29.11.2012, 16:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Рыбак без удочки
**


Профиль
Группа: Участник
Сообщений: 960
Регистрация: 18.11.2012

Репутация: 14
Всего: 55



"=" != "=="


--------------------
interface Жопа {
    // ATTENTION: has to be implemented by every class of the project for proper project work
}
PM   Вверх
supervladislav
Дата 29.11.2012, 17:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


///\\\///\\\///\\\
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 18.5.2006

Репутация: нет
Всего: -9



[Б]Арантир[/Б], вы думаите что лучше отталкиваться от нет чем от да?
Почему выплывают сразу два слоя я никак понять не могу?
когда выполняется функция райтшоу появляются два слоя 
слайдшоу 3 и 4 я
 никак понять не могу почему вот отредактированный код 

Код

<script type="text/javascript">
      function leftshow(){
          
          if(document.getElementById('slideshow1').style.display='block'){
              document.getElementById('slideshow1').style.display='none';
               document.getElementById('slideshow2').style.display='block';}
             else if(document.getElementById('slideshow2').style.display='block'){
                 document.getElementById('slideshow3').style.display='none';
               document.getElementById('slideshow2').style.display='block';
            } else if(document.getElementById('slideshow3').style.display='block'){
                document.getElementById('slideshow3').style.display='none';
                document.getElementById('slideshow4').style.display='block'
            }else if(document.getElementById('slideshow4').style.display='block') {
                document.getElementById('slideshow4').style.display='none';
                 document.getElementById('slideshow1').style.display='block';
            }} 
      
      function rightshow(){
          if(document.getElementById('slideshow4').style.display='block'){
              document.getElementById('slideshow1').style.display='none';
               document.getElementById('slideshow3').style.display='block';}
             else if(document.getElementById('slideshow3').style.display='block'){
                 document.getElementById('slideshow3').style.display='none';
               document.getElementById('slideshow2').style.display='block';
            } else if(document.getElementById('slideshow2').style.display='block'){
                document.getElementById('slideshow2').style.display='none';
                document.getElementById('slideshow4').style.display='block'
            }else if(document.getElementById('slideshow1').style.display='block') {
                document.getElementById('slideshow1').style.display='none';
                 document.getElementById('slideshow4').style.display='block';
            }
          
      }
       
       
   </script>
  


PM MAIL   Вверх
skyboy
Дата 29.11.2012, 17:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 10
Всего: 260



Цитата(supervladislav @  29.11.2012,  16:03 Найти цитируемый пост)
[Б]Арантир[/Б], вы думаите что лучше отталкиваться от нет чем от да?

он говорит прямым текстом, что сравнение(==) и присваивание(=) — радикально разные операции
PM MAIL   Вверх
supervladislav
Дата 29.11.2012, 21:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


///\\\///\\\///\\\
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 18.5.2006

Репутация: нет
Всего: -9



[Б]скыбоы[/Б], ой спасибо 
PM MAIL   Вверх
supervladislav
Дата 29.11.2012, 22:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


///\\\///\\\///\\\
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 18.5.2006

Репутация: нет
Всего: -9




Код

<script type="text/javascript">
       
      function leftshow(){
          
          if(document.getElementById('slideshow1').style.display=='block'){
              document.getElementById('slideshow1').style.display='none';
               document.getElementById('slideshow2').style.display='block';}
             else if(document.getElementById('slideshow2').style.display=='block'){
                 document.getElementById('slideshow3').style.display='block';
               document.getElementById('slideshow2').style.display='none';
            } else if(document.getElementById('slideshow3').style.display=='block'){
                document.getElementById('slideshow3').style.display='none';
                document.getElementById('slideshow4').style.display='block'
            }else if(document.getElementById('slideshow4').style.display=='block') {
                document.getElementById('slideshow4').style.display='none';
                 document.getElementById('slideshow1').style.display='block';
            }} 
      
      function  rightshow(){
          if(document.getElementById('slideshow4').style.display=='block'){
              document.getElementById('slideshow3').style.display='block';
               document.getElementById('slideshow4').style.display='none';}
             else if(document.getElementById('slideshow3').style.display=='block'){
                 document.getElementById('slideshow3').style.display='none';
               document.getElementById('slideshow2').style.display='block';
            } else if(document.getElementById('slideshow2').style.display=='block'){
                document.getElementById('slideshow2').style.display='none';
                document.getElementById('slideshow4').style.display='block'
            }else if(document.getElementById('slideshow1').style.display=='block') {
                document.getElementById('slideshow1').style.display='none';
                 document.getElementById('slideshow4').style.display='block';
            }
            
          
      }
       
       
   </script>


Скажите , немогу понять в чём дело , через фаяре баг смотрел вроде всё нормально , почему-то неработает сценарии совсем  е, пробовал вставлять в функции алерт() простите что так пишу я похоже что-то подцепил в инете  буквы с русского меняются на англиский сами )))


PM MAIL   Вверх
supervladislav
Дата 30.11.2012, 00:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


///\\\///\\\///\\\
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 18.5.2006

Репутация: нет
Всего: -9



Когда я писал присвоить = работало как только поставил == ничего .
Вот такая конструкция допустимаедь 
 if(document.getElementById('slideshow1').style.display=='block'){}

Это сообщение отредактировал(а) supervladislav - 30.11.2012, 01:02
PM MAIL   Вверх
Arantir
Дата 30.11.2012, 01:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Рыбак без удочки
**


Профиль
Группа: Участник
Сообщений: 960
Регистрация: 18.11.2012

Репутация: 14
Всего: 55



supervladislav, в поле style не содержаться данные, добавленные элементам через CSS. Там только значения, добавленные самими JS. Сразу после загрузки страницы ни один style.display у вас не может быть равен 'block'.

Попробуйте добавить после загрузки страницы присвоение 'block' для первого из элементов с помощью JS
Код

document.getElementById('slideshow1').style.display = 'block';

Тогда ваш метод переключения блоков будет работать.

Это сообщение отредактировал(а) Arantir - 30.11.2012, 01:08


--------------------
interface Жопа {
    // ATTENTION: has to be implemented by every class of the project for proper project work
}
PM   Вверх
CruorVult
Дата 30.11.2012, 15:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 868
Регистрация: 24.9.2008
Где: г.Киев, Украина

Репутация: 13
Всего: 28



Цитата(skyboy @  29.11.2012,  15:58 Найти цитируемый пост)
P.S. мне кажется, ты глумишься. сложно поверить, что такой код пишет человек, который только на форуме зареген 6 лет назад, а уж сколько программированием занимается — вообще фиг знает. 


Попробуй ущипнуть себя  smile 
PM MAIL Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0833 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.