Как сократить повторяющийся код?

Добрый день
Подскажите пожалуйста, как правильно написать, чтобы код не повторялся?
5 айтемов с цветом, при клике на которые подставляется нужная картинка.
Спасибо

$('a.container1').click(function(){
	$('.img_box').css('background' , 'url(img/color1.jpg)');
	return false;
});
$('a.container2').click(function(){
	$('.img_box').css('background' , 'url(img/color2.jpg)');
	return false;
});
$('a.container3').click(function(){
	$('.img_box').css('background' , 'url(img/color3.jpg)');
	return false;
});
$('a.container4').click(function(){
	$('.img_box').css('background' , 'url(img/color4.jpg)');
	return false;
});
$('a.container5').click(function(){
	$('.img_box').css('background' , 'url(img/color5.jpg)');
	return false;
});
  • Вопрос задан
  • 259 просмотров
Решения вопроса 2
werty1001
@werty1001
undefined
<a class="container" data-bg="1">container1</a>

$('a.container').click(function(){
  $('.img_box').css('background' , 'url(img/color' + $(this).data('bg') + '.jpg)');
  return false;
});
Ответ написан
sergey-gornostaev
@sergey-gornostaev
Седой и строгий
<a class="container" data-color="1" href="#">blablabla</a>


$('a.container').click(function(e) {
  e.preventDefault();
  var color = $(this).data('color');
  $('.img_box').css('background' , 'url(img/color' + color + '.jpg)');
});
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
abyrkov
@abyrkov
JavaScripter
for(var counter = 1; counter <= 5; counter++){
  $('a.container'+counter).click(function(){
    $('.img_box').css('background' , 'url(img/color'+counter+'.jpg)');
    return false;
  });
}

Надеюсь, вы не индус)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы