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

هل ممكن التحكم فى دالة setInterval عن طريقة حدث onclick؟

Ahmed Monaiem

السؤال

Recommended Posts

  • 1

يمكنك تخزين الدالة setInterval في متغير وحذفه عندما يتم الضغط على زر ما بالشكل التالي:

var log = setInterval(function () {
  console.log(Date.now());
}, 1000);

document.addEventListener("click", function () {
  clearInterval(log);
});

عند تشغيل الكود سوف يتم طباعة الوقت الحالي كل ثانية، ولكن بمجرد الضغط في أي مكان في الصفحة سوف يتم إيقاف الدالة.

أيضًا يمكنك جعل الكود يعمل مرة أخرى عند الضغط لمرة ثانية على الصفحة من خلال الكود التالي:

let intervalRemoved = false;

const myFunc = function () {
  console.log(Date.now());
}

let log = setInterval(myFunc, 1000);

document.addEventListener("click", function () {
  if (intervalRemoved) {
    log = setInterval(myFunc, 1000);
  } else {
    clearInterval(log);
  }
  
  intervalRemoved = !intervalRemoved;
});

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

هل يمكنك الشرح أكثر حول ما تريده تماما؟ اذا كنت تتساءل عن امكانية استخدام الدالتين معا فذلك ممكن كالتالي

<body>
    <button id="btn" onclick="alertMe()">اضغط</button>
    <script>
        function alertMe() {
            setInterval(function () {
                alert("hi");
            }, 200);
        }
    </script>
</body>

لدينا زر وأسندت اليه الحدث on click وعند وقوع الحدث سوف يتم تنفيذ الدالة alertMe كل 200 ميلي ثانية , اذا كنت تقصد شيئا آخر أرجو توضيحه وتوضيح ما تحاول فعله

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ الآن قال محمد أبو عواد:

هل يمكنك الشرح أكثر حول ما تريده تماما؟ اذا كنت تتساءل عن امكانية استخدام الدالتين معا فذلك ممكن كالتالي


<body>
    <button id="btn" onclick="alertMe()">اضغط</button>
    <script>
        function alertMe() {
            setInterval(function () {
                alert("hi");
            }, 200);
        }
    </script>
</body>

لدينا زر وأسندت اليه الحدث on click وعند وقوع الحدث سوف يتم تنفيذ الدالة alertMe كل 200 ميلي ثانية , اذا كنت تقصد شيئا آخر أرجو توضيحه وتوضيح ما تحاول فعله

اشكر حضرتك

كنت بعمل الداله علشان يظهر العد التنازلى عند تشغيل الفيديو لظهور اعلان

ثم تختفى و تظهر ثانية عند الضغط على فيديو اخر..

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ الآن قال Ahmed Monaiem:

اشكر حضرتك

كنت بعمل الداله علشان يظهر العد التنازلى عند تشغيل الفيديو لظهور اعلان

ثم تختفى و تظهر ثانية عند الضغط على فيديو اخر..

هل نجح الامر؟

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

نعم الى حد كبير و الباقى هحاول فيه اوصله ان شاء الله

بتاريخ الآن قال سامح أشرف:

يمكنك تخزين الدالة setInterval في متغير وحذفه عندما يتم الضغط على زر ما بالشكل التالي:


var log = setInterval(function () {
  console.log(Date.now());
}, 1000);

document.addEventListener("click", function () {
  clearInterval(log);
});

عند تشغيل الكود سوف يتم طباعة الوقت الحالي كل ثانية، ولكن بمجرد الضغط في أي مكان في الصفحة سوف يتم إيقاف الدالة.

أيضًا يمكنك جعل الكود يعمل مرة أخرى عند الضغط لمرة ثانية على الصفحة من خلال الكود التالي:


let intervalRemoved = false;

let log = setInterval(function () {
  console.log(Date.now());
}, 200);

document.addEventListener("click", function () {
  if (intervalRemoved) {
    log = setInterval(function () {
      console.log(Date.now());
    }, 200);
  } else {
    clearInterval(log);
  }
  
  intervalRemoved = !intervalRemoved;
});

 

اشكر حضرتك

سوف اقوم باسناد قيمة غير التاريخ و احاول الا تعد بالسالب و تقوم بتكرار الرقم الذى سوف احدده انا بدل التاريخ..

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...