Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Разобрать код (https://javascript.ru/forum/misc/27617-razobrat-kod.html)

guzel8 19.04.2012 11:02

Разобрать код
 
Помогите,пож-та,разобрать код.:-? Новичок в js
<script>
	var color = ['1b737d', 'be3434'];

	function hex2dec(rgb) {
		rgb = parseInt(rgb, 16);
		return [rgb>>16, (rgb&0xFF00)>>8, rgb&0xFF];
	}

	function getColor(color1, color2, i, n) {
		a1 = hex2dec(color1);
		a2 = hex2dec(color2);
	
		color_ar = [];
		for (var r=0; r<3; r++) {
			color_ar[r] = Math.round(a1[r] + (a2[r] - a1[r])*i/n).toString(16);
			color_ar[r] = color_ar[r].length == 1 ? '0' + color_ar[r] : color_ar[r];
		}
	
		return '#' + color_ar[0] + color_ar[1] + color_ar[2];
	}

	var str = '';
	var str_ar = $(".gradient").text().split('');

	var l = str_ar.length;
	for (var i=0; i<l; i++)
		str += '<span>' + str_ar[i] + '</span>';
	
	$(".gradient").html(str);
	$(".gradient SPAN").each(function(index) {
		$(this).css("color", getColor(color[0], color[1], index, l));
	});
</script>

Нужно:

разобраться, зачем он нужен
оформить этот код в виде плагина к jQuery
добавить возможность указывать для массива color любое количество элементов (а не два, как в приведенном коде).


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