Другие языки программирования и технологии

Кто знает javascript. Помогите ПЛЖ

http://jsfiddle.net/v4bb2/69/

1) element.src постоянно накапливается. Как ему сделать обновление. 2) все блоки с цветом имеют id color. Как подправь код так, чтобы в
качестве блока брался тот, по которому произведен клик.
var ini = function () {
var colors = document.getElementsByClassName('color');
for (var i = 0; i < colors.length; ++i) colors[i].onclick = changeImage;
}

function changeImage() {
var img = document.getElementById('img');
var bgc = this.style.backgroundColor;
bgc = bgc.replace(/\s+/g, '');
var src = getSrc(img.src);
var get = src + setColor(bgc);
var color = get.replace('jpg', 'php');
img.src = color;
alert(img.src);
}

function getSrc(full) {
src = full.split("?");
return src[0];
}

function setColor(rgb) {
var re = /\D+/ig;
rgb = rgb.replace(re, ',');
alert(rgb);
var token = rgb.split(",");
var color = "?red=" + token[1] + "&green=" + token[2] + "&blue=" + token[3];
return color;
}

window.onload = ini;
Карен Гамбарян
Карен Гамбарян
83 938
Лучший ответ
Подключи jquery и используй этот код:

$(document).ready(function() {
$(".color").click(function (){
var d = document;
var element = d.getElementById('img');

var img1 = "http://promo-sticker.com/uploads/shop/products/main/meee.jpg" + $(this).attr("title");
var color = img1.replace('jpg', 'php');
element.src = color;
alert(color);
});
});

Научись программировать уже, черт побери.
Евгений Карпов
Евгений Карпов
22 076
1) хранить исходный адрес картинки pics.php или типа того, и уже к нему добавлять уточняющий цвет (если я правильно поняла, что делается в коде)
2) в onclick должен быть параметр this, указывающий на тот самый div. Его можно передавать в change_image как параметр.

"А по поводу праметра можно по подробней"
В div-ах:
change_color(this);

function change_image(d1) {

document.getElementById('img').src = 'http://promo-sticker.com/uploads/shop/products/main/meee.php?' + d1.title;
}
Примерно так.

Первые два квадратика сделала, остальное сами, по аналогии.

http://jsfiddle.net/v4bb2/74/
Дмитрий Дюков
Дмитрий Дюков
1 552