Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.72/18: Рейтинг темы: голосов - 18, средняя оценка - 4.72
1053 / 559 / 126
Регистрация: 20.02.2016
Сообщений: 3,219
1

Смена картинок при клике

05.02.2017, 17:38. Показов 3496. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго всем времени суток. У меня есть ряд небольших картинок, и те же самые картинки только побольше, где все кроме одной скрыты. Необходимо что бы при клике на определенную маленькую картинку, большая картинка сверху скрывалась, а на её месте появлялась одна из больших картинок (точно такая же как маленькая). Только начинаю разбираться в jQuery, поэтому не как не соображу, как это реализовать. Надеюсь я смог изложить идею более, менее понятно.
Вот HTML:
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
<body>
  <img src="img/limp_bizkit.jpg">
  <img src="img/offspring.jpg" alt="" id="hid">
   <ul >
       <li ><img src="img/limp_bizkit.jpg" class="media" onclick="addEffect()" /></li>
       <li ><img src="img/offspring.jpg" class="media"/></li>
       <li > <img src="img/pink_floyd.jpg" class="media"/></li>
       <li ><img src="img/sex_pistols.jpg" class="media" /></li>
   </ul>
   <div id="kv1" >1</div>
   <button  onclick="addEffect1()">Эффект Show()</button>
</body>
CSS:
CSS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
.media {
  
    width: 200px;
    height: 200px;
}
li {
    list-style: none;
     display: inline;
     
}
#hid {
   
    display:none;
    background: #000000;
    opacity: 0.1;
}
JavaScript:
Javascript
1
2
3
function addEffect(){
  $("#hid:hidden").show().animate({opacity: "1"} , 1000);
}
Добавлено через 2 часа 44 минуты
Нашел следующее решение: создать 4 отдельные функции для каждой из картинок, и вызывать их при клике на определённую картинку, а в самих функциях отбирать большие картинки по альту.
Вот так вот:
Javascript
1
2
3
4
5
function addEffect(){
 
  $("#hid:hidden").show().animate({opacity: "1"} , 1000);
      $("img[alt = 'limp']").hide(); 
}
HTML5
1
2
3
4
5
6
7
8
9
10
11
<body>
  <img src="img/limp_bizkit.jpg" alt="limp">
  <img src="img/offspring.jpg" id="hid" >
   <ul >
       <li ><img src="img/limp_bizkit.jpg" class="media" onclick="addEffect()"  /></li>
       <li ><img src="img/offspring.jpg" class="media"/></li>
       <li > <img src="img/pink_floyd.jpg" class="media"/></li>
       <li ><img src="img/sex_pistols.jpg" class="media" /></li>
   </ul>
 
</body>
Но это решение мне самому чертовски не нравится, это ужаснейший пример быдлокода, 4 разные функции решают одну задачу, а как сделать так что бы альт или id картинки определялся автоматически, при клике, пока придумать не могу.... Плиз подскажите.... Заранее всем благодарен.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.02.2017, 17:38
Ответы с готовыми решениями:

Смена картинок при клике
Нужно простой слайдер )) Есть три картинки по очереди . при клике preview показалось предыдущая...

Смена картинок по клике
Ув. форумчане , хочу написать в jquery скрипт по смены картинок когда кликаешь по кнопкам на право...

Смена стилей при клике
Как сделать чтобы при нажатии на ссылку постоянно менялись стили? Дефолтом стоит для .block ...

Смена шрифта при клике
Добрый вечер. Помогите разобраться. есть текст и две кнопки &lt;p class=&quot;text&quot;&gt;some text&lt;/p&gt; &lt;a...

2
9 / 9 / 6
Регистрация: 07.10.2013
Сообщений: 66
05.02.2017, 19:10 2
Можно каждый раз выбирать следующий элемент... https://api.jquery.com/next/
0
1053 / 559 / 126
Регистрация: 20.02.2016
Сообщений: 3,219
06.02.2017, 16:08  [ТС] 3
В итоге сделал вот так:
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
function addEffect(){
 
  $("#off:hidden").show().animate({opacity: "1"} , 1000);
     $('.sow').removeClass('sow').addClass('kill');
      $("#off").addClass('sow');
      
      $("img[class = 'kill']").hide(); 
}
       
      function addEffect1(){
 
  $("#limp:hidden").show().animate({opacity: "1"} , 1000);
     $('.sow').removeClass('sow').addClass('kill');
      $("#limp").addClass('sow');
      
      $("img[class = 'kill']").hide(); 
}
        
        function addEffect2(){
 
  $("#pink:hidden").show().animate({opacity: "1"} , 1000);
     $('.sow').removeClass('sow').addClass('kill');
      $("#pink").addClass('sow');
      
      $("img[class = 'kill']").hide(); 
}
        function addEffect3(){
 
  $("#sex:hidden").show().animate({opacity: "1"} , 1000);
     $('.sow').removeClass('sow').addClass('kill');
      $("#sex").addClass('sow');
      
      $("img[class = 'kill']").hide(); 
}
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
<body>
  <img src="img/limp_bizkit.jpg" alt="limp" class="sow" id="limp" />
  <img src="img/offspring.jpg" id="off" class="kill"/>
  <img src="img/pink_floyd.jpg" id="pink" class="kill"/>
  <img src="img/sex_pistols.jpg" class="kill" id="sex" />
   <ul >
       <li ><img src="img/limp_bizkit.jpg" class="media"  onclick="addEffect1()"  /></li>
       <li ><img src="img/offspring.jpg" onclick="addEffect()"   class="media"/></li>
       <li > <img src="img/pink_floyd.jpg" onclick="addEffect2()" class="media"/></li>
       <li ><img src="img/sex_pistols.jpg" onclick="addEffect3()" class="media" /></li>
   </ul>
 
</body>
CSS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
.media {
  
    width: 200px;
    height: 200px;
}
li {
    list-style: none;
     display: inline;
     
}
.kill {
    display:none;
     opacity: 0.1;
}
В принципе все работает. Но сейчас следующая проблема. При показе слайда я сделал анимацию выцветания, но она срабатывает только при первом клике, при повторном клике по той же картинке она уже не работает. Подскажите плиз почему???
0
06.02.2017, 16:08
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.02.2017, 16:08
Помогаю со студенческими работами здесь

Смена tabs при клике на другой элемент
Здравствуйте. Имеется простой tab на jQuery (https://jqueryui.com/tabs/). Подскажите, как можно...

Смена класса у одного тега при клике на другой
Нужно изменить класс хедер при нажатии на ссылку чтобы его айди совподала с его классом &lt;style&gt;...

смена текста при клике и возврат после паузы
Не работает конструкция $('#calculate').html('&lt;img...

Смена текста в кнопке при клике и возврат на исходный текст
Доброго дня, уважаемые форумчане! У меня есть простая html и по клику меняю ей текст -...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru