Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   помогите добавить class/id элементу (https://javascript.ru/forum/events/23067-pomogite-dobavit-class-id-ehlementu.html)

ksa 10.11.2011 21:19

Цитата:

Сообщение от Pavel M.
а теперь все так сложно, что только ты ему поможешь

А мотор мне кто будет разгружать? :D

trikadin 10.11.2011 21:47

Грузчики, ksa. :lol:

Gozar 10.11.2011 22:47

измени:
//switch image without reload
function switchimg(t_ident, t_ident_b) {


на:
//switch image without reload
function switchimg(t_ident, t_ident_b, a) {
a.style.border = "1px solid #FF0000";


а вызов в <а>:

onclick="switchimg(vsig_4_0[7],vsig_4_0_b, this);return false;"


должно заработать.

magnateg 11.11.2011 07:18

Цитата:

Сообщение от Gozar (Сообщение 135817)
измени:
//switch image without reload
function switchimg(t_ident, t_ident_b) {


на:
//switch image without reload
function switchimg(t_ident, t_ident_b, a) {
a.style.border = "1px solid #FF0000";


а вызов в <а>:

onclick="switchimg(vsig_4_0[7],vsig_4_0_b, this);return false;"


должно заработать.

Спасибо огромное!
a.firstChild.style.border = "1px solid #FF0000";
отлично работает!

magnateg 11.11.2011 08:31

Еще осталась проблемка - как сделать чтобы при клике на следующую уменьшенную картинку border у предыдущей очищался?
Сделал так (ниже), но не работает, подскажите что не так?
у меня есть предположения что переменную prev_thumb надо гдето в другом месте сохранять
var prev_thumb= "";
	a.firstChild.active_thumb = 0;
	
	if (a.firstChild.active_thumb == 0) {
	prev_thumb.firstChild.style.border = "";
	prev_thumb.firstChild.active_thumb = 0;
	a.firstChild.style.border = "2px solid #FFFFFF";
	a.firstChild.active_thumb = 1;
	
	prev_thumb = a;
	}

ksa 11.11.2011 08:50

magnateg, начинай уже делать полные тестовые примеры... Это увеличит твои шансы на помощь. ;)

magnateg 11.11.2011 09:01

Цитата:

Сообщение от ksa (Сообщение 135865)
magnateg, начинай уже делать полные тестовые примеры... Это увеличит твои шансы на помощь. ;)

что за полные тестовые примеры?
могу дать ссылку на работающий пример, это вы имели ввиду?

ksa 11.11.2011 10:29

Цитата:

Сообщение от magnateg
что за полные тестовые примеры?

На этом форуме валом таких примеров... Это минимальная хтмл-страница на которой проявляется проблема. Подъредактировав которую, можно показать автору варианты решения...

Вот например
http://javascript.ru/forum/jquery/23...tml#post135349

magnateg 14.11.2011 15:01

Решил проблему:
function switchimg(t_ident, t_ident_b, abc) {
	
	if (abc != "1")
	{ 
	if (vsig_dom('active_thumb')) {
	vsig_dom('active_thumb').id = ""
	}
	abc.firstChild.id ="active_thumb";
	}
	
	//topimage	
	var topimg = "topimg" + t_ident_b[2];
	t_ident[6] = t_ident[6].replace(/&#39;/g, "'"); //replace &#39; with ' in alt-title
	t_ident[4] = t_ident[4].replace(/&#39;/g, "'"); //replace &#39; with ' in link-title
	t_ident[6] = t_ident[6].replace(/&amp;/g, "&"); //replace &amp;amp; with &amp; in alt-title
	//switch caption
	var t_cap = (typeof (vsig_dom(topimg).parentNode.href) !== "undefined") ? (vsig_dom(topimg).parentNode.parentNode.getElementsByTagName("div")) : (vsig_dom(topimg).parentNode.getElementsByTagName("div"));
	if (t_cap.length >= 1) {
		t_cap[0].innerHTML = (t_ident[1] !== "" || t_ident[2] !== "") ? ("<span>" + t_ident[1] + "</span><span>" + t_ident[2] + "</span>") : "";
	}
	//switch link
	if (typeof (vsig_dom(topimg).parentNode.href) !== "undefined") {
		vsig_dom(topimg).parentNode.href = t_ident[3];
		vsig_dom(topimg).parentNode.title = t_ident[4];
		vsig_dom(topimg).parentNode.target = t_ident[5];
	}
	//switch image
	vsig_dom(topimg).src = t_ident_b[0] + "vsig_images/" + t_ident[0];
	vsig_dom(topimg).alt = t_ident[6];
	vsig_dom(topimg).title = t_ident[6];
	
}

Андрей38 15.11.2011 03:38

Цитата:

Сообщение от magnateg (Сообщение 135864)
Еще осталась проблемка - как сделать чтобы при клике на следующую уменьшенную картинку border у предыдущей очищался?
Сделал так (ниже), но не работает, подскажите что не так?
у меня есть предположения что переменную prev_thumb надо гдето в другом месте сохранять
var prev_thumb= "";
	a.firstChild.active_thumb = 0;
	
	if (a.firstChild.active_thumb == 0) {
	prev_thumb.firstChild.style.border = "";
	prev_thumb.firstChild.active_thumb = 0;
	a.firstChild.style.border = "2px solid #FFFFFF";
	a.firstChild.active_thumb = 1;
	
	prev_thumb = a;
	}

В квери
$(this).prev().css({'border':0})


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