Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
1 / 1 / 0
Регистрация: 07.06.2012
Сообщений: 212

выводить текст по очереди в зависисмости от двух функций

30.11.2012, 00:10. Показов 1822. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Попробую объяснить задачу: нужно чтобы на вот этом сайте http://vestasoft.ru/ при нажатии на стрелки вправо или влево.Происходила замена текста на другой , на другой слой ,тоесть если один слой block то другие слои скрыты ,
написаны две функции ,которые просматривают какие из слоёв видны и в зависимости от того какой сейчас слой виден меняют этому слою display='none' и показывают следующий слой.Я достаточно быстро придумал данный код , но никак не могу понять почему он неработает <смотрел через fire bag ошибок нет.
Вот так он выглядит:

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<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>
Так выглядит html
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<div id="toptext">
                     
                      <div id="uk_left" onclick="leftshow();" ></div>
                      <div id="uk_right" onclick="rightshow();"></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 id="krugi">  <img src="images/krugki.png" width="40px" alt=""/></div>
               <h1>H1 Earnings 2012</h1>
                    
               <p id="one">EADS CEO Tom Enders and EADS CFO</p> 
<p id="two">Harald Wilhelm discuss the 2012 Half-Year Results on<br/> 
27 July. Follow our webcast of the Analyst Call at 10 am<br/> 
(CEST) and watch the video with EADS CFO</p>
               </div>
               <div id="pravo_img">
                   <img src="images/kartika_pravo.png" width="250px"/>                      
                  
              </div>
                  
                  </div>
Добавлено через 4 минуты
Я надеюсь моя проблема не из0за того ,что слой не может быть кликабельным?
Я подключал другие функции всё работает
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.11.2012, 00:10
Ответы с готовыми решениями:

Почему у меня все метки выходят по очереди...хотя должна выводить только 1
label m1,m2,m3; var a,b,h : Integer; s : real; g : string; begin WriteLn('Площадь какой фигуры вы хотели...

Очистка очереди функций
Доброго времени суток. Реализован эффект анимированного появления блока при наведении на родителя. Если провести по родителю несколько...

Запуск функций по очереди
Здравствуйте, подскажите пожалуйста При нажатии на кнопку должен запуститься 1 таймер, дождаться окончания, далее сообщения о окончания...

3
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
30.11.2012, 06:10
вам надо изменить логику вашего скрипта

исходить вам надо из того, что изначально для любого вашего <div id="slideshowN">
значение document.getElementById ('slideshowN').style.display будет равно пустоте
не 'block', не 'none', а именно ''
т.е. ни одно из ваших условий if () и else if () в обоих ваших функциях никогда не вернёт true
и никаких новых значений правило стиля style.display ни один ваш блок никогда не получит

логика таких скриптов должна подразумевать, что всегда будет исполняться какое-то действие - должно быть и
if () {сделать что-то} и else {сделать что-то другое}

не так давно я здесь подробно объяснял необходимую логику таковых скриптов - см. тему Спойлер срабатывает со второго раза

набросать здесь для вас работающий скрипт мне не трудно,
но не хочу вас лишать удовольствия сделать это самому
замечу лишь одно - чтобы меньше кода писать, в начале обоих функций можно прописать следующее:
JavaScript
1
2
3
4
5
6
7
{
with (document) var
s1 = getElementById ('slideshow1').style,
s2 = getElementById ('slideshow2').style,
s3 = getElementById ('slideshow3').style,
s4 = getElementById ('slideshow4').style;
...
и далее уже оперировать короткими s1.display, s2.display,...
1
1 / 1 / 0
Регистрация: 07.06.2012
Сообщений: 212
30.11.2012, 21:08  [ТС]
cпасибо вам задельный совет.Я уже решил данную проблему.

Добавлено через 56 секунд
Вобще хотел бы решаь такие задачи более просто,а что кстате ощественность думает про vbscript.
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
30.11.2012, 21:16
Цитата Сообщение от saladd Посмотреть сообщение
а что кстате ощественность думает про vbscript
если вам надо, чтобы работало только в Explorer'e, то можете писать и на VBScript'e
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.11.2012, 21:16
Помогаю со студенческими работами здесь

Выполнение функций по очереди
Есть 5 функци которые должны выполняться по очереди, как можно реализовать это? Сейчас в хаотичном порядке запускаются функции, по своим...

Как выводить графики функций?
на лсд wg12864b хочу выводить различные графики функций. Как это реализовать? Вокруг да около хожу чёт ни чего на ум не приходит. Хотя бы...

Перегрузка функций для очереди
Объясните как правильно сделать функцию присваивания List operator=(List A); #include &quot;stdafx.h&quot; #include &lt;iostream&gt; ...

Бесконечный вызов функций по очереди
Как написать так, чтобы эти 4 функции вызывались по очереди, бесконечно число раз при загрузке страницы? $(document).ready(function(){ ...

Рекурсивная програма которая по очереди будет выводить 1(16 раз), 2(8 раз), 3 (4 раза)
подробнее смотрите вложение


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru