Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Смена картинок (https://javascript.ru/forum/misc/22659-smena-kartinok.html)

IvanM 27.10.2011 18:27

Смена картинок
 
Привет, есть простенькая функция смены картинок на клик.
function chgim(new_img) {

      document.getElementById('bt1').className = '';
      document.getElementById('bt2').className = '';
      document.getElementById('bt3').className = '';
      document.getElementById(new_img).className = 'active';       
}

<div id="button">
		<a href="javascript:chgim('bt1');" id="bt1" class="active"></a>
		<a href="javascript:chgim('bt2');" id="bt2"></a>
		<a href="javascript:chgim('bt3');" id="bt3"></a>
		<div id="All_news"><a href="">All news &rarr;</a></div>
     </div>

В итоге получается так: (крестик мой:) )
В див All_news добавляется
<div id="All_news"><a href="javascript:chgim('bt3');" id="bt3" <="" a=""></a><a href="qqq">All news →</a></div>

Сломал голову, подскажите пожалуйста.
P.S. Если выводить 5 кнопок, то все нормально.

ksa 27.10.2011 23:46

IvanM, ты про циклы и массивы слышал?

Цитата:

Сообщение от IvanM
Сломал голову

Над чем сломал голову-то?

Цитата:

Сообщение от IvanM
<a href="javascript:chgim('bt3');" id="bt3" <="" a=""></a>

Вот это что такое?

IvanM 28.10.2011 10:28

Цитата:

Сообщение от ksa (Сообщение 133186)
Вот это что такое?

Я бы тоже хотел узнать откуда это так ,как в HTML этого нет.
В Javascript я не силен, только начал изучать. Делал по примеру сейчас уже не вспомню где он.
Псал я еще здесь:http://javascript.ru/forum/misc/2225...adiobaton.html
Вроде все работает с 5-ю кнопками...

ksa 28.10.2011 10:41

Цитата:

Сообщение от IvanM
Я бы тоже хотел узнать откуда это

Тогда как понять что тебе нужно? :)

melky 28.10.2011 11:13

можно без этой хрени использовать заменители для батонов.

используйте LABELS и их атрибут FOR

я почти написал пример, но, к сожалению, валить пора уже.

я напишу вечером, если меня не опередят..

IvanM 28.10.2011 11:14

Есть функция изменения картинок на клик для пагинации на странице:
function chgim(new_img) {
      document.getElementById('bt1').className = '';
      document.getElementById('bt2').className = '';
      document.getElementById('bt3').className = '';
      document.getElementById(new_img).className = 'active';      
}

(Массив здесь в принципе не нужен так, как нужно только 2 картинки)
Но в div All_news добавляется запись <a href="javascript:chgim('bt3');" id="bt3" <="" a=""></a>
хотя код HTML Выглядит так: <div id="All_news"><a href="">All news &rarr;</a></div>
Здесь нет строки <a href="javascript:chgim('bt3');" id="bt3" <="" a=""></a>
Хотел бы узнать откуда лишний код, и как его убрать.

IvanM 28.10.2011 11:20

А вообще мне нужно следующее:
Есть блок со статьями(их может быть 3-15), отображаются только 3 статьи (использую overflow: hidden;) На клик по кнопкам должны смещаться кординаты чтобы показать следующие 3 новости. Неплохо было бы еще чтобы зная кол-во новостей выводилось нужное кол-во кнопок пагинации.

IvanM 28.10.2011 13:12

Лишний код убрал(не закрыл тэг :-E ) Вопрос только в том как зная кол-во новостей выводить нужное кол-во кнопок пагинации.:thanks:

ksa 28.10.2011 13:23

Цитата:

Сообщение от IvanM
Массив здесь в принципе не нужен

Т.е. если у тебя будет элементов больше чем 3 - тыт таки будешь писать

document.getElementById('bt1').className = '';
document.getElementById('bt2').className = '';
...
document.getElementById('btN').className = '';
document.getElementById(new_img).className = 'active';

И так и не додумаешся использовать некий массив ссылок? :D

IvanM 28.10.2011 14:43

Я же сказал, что я только учусь :( , а эту функцию я преобразовал из функции, которая отвечала за смену картинок-вкладок. Там было точное кол-во.

Сам разберусь спасибо.


Часовой пояс GMT +3, время: 11:34.