اذهب إلى المحتوى

السؤال

نشر (معدل)

اقوم بعمل مشروع html ,css ,js  لكن عندما اتعامل مع الجافا سكربت، مثلا اضع بوتون وهذا البتن عند الضغط علية يتم تنفيذ داله، الذي يحصل معي انه عند الضغط على البوتون يقوم بتنفيذ الداله بشكل سريع اقل من ثانية ويقوم بتحديث الصفحة مباشرة ، لا اعلم لماذا يقوم بتحديث الصفحة ؟ وكيف اصلح هذا الامر 

تم التعديل في بواسطة Hassan Hedr
توضيح العنوان

Recommended Posts

  • 0
نشر
بتاريخ 2 دقائق مضت قال Hassan Hedr:

يرجى إرفاق الشيفرة ضمن نص السؤال حتى يتوضح استفسارك وتحصلين على حل للمشكلة

المشكلة ليست بالكود المشكلة انه لماذا ينفذ بشكل سريع جدا ويحدث الصفحة مباشرة ويختفي ما يقوم به الكود ؟ لكن هذا هو الكود

 <body>
        
        <input type="text" id="txtVal">
        <button onclick="addLi()">Add</button>
        
        <ul id="list">
            <li>1</li>
            <li>22</li>
            <li>50</li>
        </ul>
        
        <script>
            
            function addLi()
            {

                var txtVal = document.getElementById('txtVal').value,
                    listNode = document.getElementById('list'),
                    liNode = document.createElement("LI"),
                    txtNode = document.createTextNode(txtVal);
            
                 liNode.appendChild(txtNode);
                 listNode.appendChild(liNode);
            
            }
            
        </script>
       
    </body>
  • 0
نشر
بتاريخ 9 دقائق مضت قال Shahad Mohammad:

المشكلة ليست بالكود المشكلة انه لماذا ينفذ بشكل سريع جدا ويحدث الصفحة مباشرة ويختفي ما يقوم به الكود ؟ لكن هذا هو الكود


 <body>
        
        <input type="text" id="txtVal">
        <button onclick="addLi()">Add</button>
        
        <ul id="list">
            <li>1</li>
            <li>22</li>
            <li>50</li>
        </ul>
        
        <script>
            
            function addLi()
            {

                var txtVal = document.getElementById('txtVal').value,
                    listNode = document.getElementById('list'),
                    liNode = document.createElement("LI"),
                    txtNode = document.createTextNode(txtVal);
            
                 liNode.appendChild(txtNode);
                 listNode.appendChild(liNode);
            
            }
            
        </script>
       
    </body>

الشيفرة تعمل لديك بشكل سليم ولا يتم تحديث الصفحة تأكدي من أنك تعاينين نفس الصفحة ذات الشيفرة المصدرية المرفقة وليس نسخة أخرى، أيضًا سرعة التنفيذ بسبب أن العمليات تتم على المتصفح مباشرة، التأخير في التطبيقات عادة يكون بسبب إرسال طلب AJAX إلى الخادم وانتظار الرد ثم إضافة المهمة وتحديث الواجهة،

يمكنك إذا أردت إضافة تأخير يدوي بشكل مقصود لمحاكاة عملية التأخر في وصول الرد بالاستفادة من التابع setTimeout كالتالي:

<button onclick="setTimeout(addLi, 1000)">Add</button>
                 ^^^^^^^^^^      ^^^^^^^

ستلاحظين تأخر لمدة ثانية قبل إضافة المهمة للقائمة 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...