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

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

Shahad Mohammad

السؤال

اقوم بعمل مشروع 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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...