Emad Atef نشر 21 نوفمبر 2020 أرسل تقرير نشر 21 نوفمبر 2020 ما هو السبب فى أن عداد التكرار لا يعمل ؟ (function mainFunc(){ var i, myMain = document.getElementById("main"); function changeColor(color) { color= ["red","blue","black","yellow","white"]; for(i = 0 ; i<color.length ; i=i+1) myMain.innerHTML=color[i] ; } return changeColor(); }()); 1 اقتباس
0 أحمد حبنكة نشر 21 نوفمبر 2020 أرسل تقرير نشر 21 نوفمبر 2020 المعذرة منك أخي عماد ولكن ما الذي لا يعمل فيه بالضبط فقد جربته عندي ولا يبدو أن هناك أي خطأ به ؟ 1 اقتباس
0 Emad Atef نشر 21 نوفمبر 2020 الكاتب أرسل تقرير نشر 21 نوفمبر 2020 بتاريخ 4 دقائق مضت قال أحمد حبنكة: المعذرة منك أخي عماد ولكن ما الذي لا يعمل فيه بالضبط فقد جربته عندي ولا يبدو أن هناك أي خطأ به ؟ انا اريد طبع جميع قيم المصفوفة ولكن هذا الكود لا يطبع الا القيمة الأخيرة فقط من المصفوفة .. وانا لا اعرف ما هو الخطأ الذى يمنع اكتمال عمل التكرار اقتباس
0 أحمد حبنكة نشر 21 نوفمبر 2020 أرسل تقرير نشر 21 نوفمبر 2020 (معدل) يمكنك أخي عماد أن تعرف السبب من الكود التالي: (function mainFunc(){ var i,c; function changeColor(color) { color= ["red","blue","black","yellow","white"]; for(i = 0 ; i<color.length ; i=i+1) c=color[i] ; } console.log(c); } return changeColor(); }()); هذا الكود سيطبع "white" فقط وذلك ﻷن قيمة c بعد أن تنتهي حلقة التكرار تساوي "white" وفي الكود الخاص بك ما هو داخل العنصر main سيكون "white". ولكن ماذا نفعل لطباعة جميع قيم المصفوفة ؟ المشكلة تكمن في أنك تريد طباعتها داخل عنصر HTML ، إذا أخبرتني بهدفك من ذلك قد نتوصل إلى حل وإلا عليك أن تجد طريقةً أخرى للطباعة. لست متأكداً تماماً مما تريد ولكن لعلك تحصل على ما تريد إن استبدلت هذه التعليمة: myMain.innerHTML=color[i] ; بهذه: myMain.innerHTML+=color[i] + " " ; // المسافة هي لفصل اﻷلوان المراد طباعتها، يمكنك اختيار ما تشاء للفصل بينها مثلاً <br /> تم التعديل في 21 نوفمبر 2020 بواسطة أحمد حبنكة 1 اقتباس
0 Omar Haddad2 نشر 21 نوفمبر 2020 أرسل تقرير نشر 21 نوفمبر 2020 بتاريخ منذ ساعة مضت قال Emad Atef: انا اريد طبع جميع قيم المصفوفة ولكن هذا الكود لا يطبع الا القيمة الأخيرة فقط من المصفوفة .. وانا لا اعرف ما هو الخطأ الذى يمنع اكتمال عمل التكرار أن تريد الطباعة في نفس الوسم لذلك يتم أخذ أخر شىء في المصفوفة لكن لو كنت تريد طباعة جميع محتويات المصفوفة عليك إزالة innerHTML من داخل الحلقة وإستخدمها في خارج الحلقة ولكن بعد أن تضع محتويات المصوفة في متغير نقوم ب innerHTML وإدخال القيمة في الوسم (function mainFunc(){ var i, myMain = document.getElementById("main"); var sinr=""; function changeColor(color) { color= ["red","blue","black","yellow","white"]; for(i = 0 ; i<color.length ; i=i+1){ sinr=+","+color[i] } myMain.innerHTML=sinr ; return changeColor(); }()); 1 اقتباس
0 Abdalla Ayman2 نشر 22 نوفمبر 2020 أرسل تقرير نشر 22 نوفمبر 2020 بتاريخ On 11/21/2020 at 10:10 قال Emad Atef: انا اريد طبع جميع قيم المصفوفة ولكن هذا الكود لا يطبع الا القيمة الأخيرة فقط من المصفوفة .. وانا لا اعرف ما هو الخطأ الذى يمنع اكتمال عمل التكرار الكود المكتوب يقوم بالمرور على عناصر المصفوفة ويقوم بتعين myMain.innerHTML الى قيمة العنصر في المصفوفة اي انه في اول دورة للفور لوب يقوم بتعين myMain.innerHTML الى red وفي الدورة الثانية الى blue حتى يصل الى white في الدورة الاخيرة لتقوم بطبع جميع القيم يجب عليكاستبدال = الى =+ بحيث يقوم بالاضافة الى قيمة myMain.innerHTML بدلا عن تبديلها كليا [myMain.innerHTML+=color[i اقتباس
السؤال
Emad Atef
ما هو السبب فى أن عداد التكرار لا يعمل ؟
5 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.