|
@@ -2,6 +2,46 @@
|
|
// Сделайте перевод перевод из нашей системы размеров в американскую или любую на выбор.
|
|
// Сделайте перевод перевод из нашей системы размеров в американскую или любую на выбор.
|
|
// Используйте prompt, условия сравнения и alert.
|
|
// Используйте prompt, условия сравнения и alert.
|
|
|
|
|
|
|
|
+// сразу сделала через выкатывающийся список и объект. prompt - слишком ограниченный функционал,
|
|
|
|
+// условия сравнения - не поняла, для чего он. Размер везде вычесляемое поле с шагом 2.
|
|
|
|
+// Имеется в виду, что нужно не вычислять, а подставлять? делать 7 if?
|
|
|
|
+
|
|
|
|
+const coatSizes = { Russian: 40, German: 34, France: 36, Italy: 38, "Great Britain": 8, USA: 6 };
|
|
|
|
+const substituteFnc = () => {
|
|
|
|
+ const fromCountry = initialCountryId.value;
|
|
|
|
+ const sizesLength = 8;
|
|
|
|
+ const sizesArray = [];
|
|
|
|
+ sizesArray[0] = coatSizes[fromCountry];
|
|
|
|
+ for (let i = 1; i < sizesLength; i++) { sizesArray[i] = sizesArray[0] + i * 2};
|
|
|
|
+ const sizesStr = sizesArray.map(item => "<option value="+item+">" + item +"</option>");
|
|
|
|
+ initialSizeId.innerHTML=sizesStr;
|
|
|
|
+convertedSizeId.innerHTML = "---";
|
|
|
|
+};
|
|
|
|
+function countSizeFnc () {
|
|
|
|
+ const fromCountry = initialCountryId.value;
|
|
|
|
+ const toCountry = convertedCountryId.value;
|
|
|
|
+ const initialSize = initialSizeId.value;
|
|
|
|
+ convertedSizeId.innerHTML = coatSizes[toCountry] + (initialSize - coatSizes[fromCountry]);
|
|
|
|
+
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+document.body.insertAdjacentHTML("afterbegin", "<section id=task16 style='display:inline-block'></section>");
|
|
|
|
+task16.insertAdjacentHTML("beforeend", "<form id=sizeForm style='display:inline-block;'></form>");
|
|
|
|
+sizeForm.insertAdjacentHTML("beforeend", "<h2 style='margin-left:auto; margin-right:auto'>Конвертор размеров верхней одежды</h2>");
|
|
|
|
+sizeForm.insertAdjacentHTML("beforeend", "<div id=countries></div>");
|
|
|
|
+sizeForm.insertAdjacentHTML("beforeend", "<div id=sizes style='margin-top:20px'></div>");
|
|
|
|
+countries.insertAdjacentHTML("beforeend", "<span>From </span>");
|
|
|
|
+countries.insertAdjacentHTML("beforeend", "<select id=initialCountryId><option value='hide'> -- Enter initial country --</option><option value='Russian'>Russian</option><option value='German'>German</option><option value='France'>France</option><option value='Italy'>Italy</option><option value='Great Britain'>Great Britain</option><option value='USA'>USA</option></select> ");
|
|
|
|
+countries.insertAdjacentHTML("beforeend", "<span> to </span>");
|
|
|
|
+countries.insertAdjacentHTML("beforeend", "<select id=convertedCountryId><option value='hide'> -- Enter converted country --</option><option value='Russian'>Russian</option><option value='German'>German</option><option value='France'>France</option><option value='Italy'>Italy</option><option value='Great Britain'>Great Britain</option><option value='USA'>USA</option></select> ");
|
|
|
|
+sizes.insertAdjacentHTML("beforeend", "<select id=initialSizeId style='display:inline-block; width:150px; margin-left:40px'><option value='hide'> -- Enter size --</option></select> ");
|
|
|
|
+sizes.insertAdjacentHTML("beforeend", "<output id=convertedSizeId name='result' for='sizeBtn' style='display:inline-block; text-align:center; width:150px; border: 1px solid green; border-radius:3px; margin-left:30px'>---</output>");
|
|
|
|
+sizeForm.insertAdjacentHTML("beforeend", "<button id=sizeBtn type='button' style='display:block; margin-left:auto; margin-right:auto; margin-top:20px'>Convert</button>");
|
|
|
|
+sizeBtn.onclick = countSizeFnc;
|
|
|
|
+initialCountryId.onchange = substituteFnc;
|
|
|
|
+
|
|
|
|
|
|
// Comparison: object
|
|
// Comparison: object
|
|
-// Подумайте о том, как можно применить объекты к предыдущем заданию.
|
|
|
|
|
|
+// Подумайте о том, как можно применить объекты к предыдущем заданию.
|
|
|
|
+
|
|
|
|
+// Сразу подумала. if - это капец 8)
|