راکت
grandfather
grandfather
توسط grandfather مطرح شد
حل
21 پاسخ

کد شمارش معکوس و فعال شدن ارسال مجدد

با سلام خدمت اساتید ...
در سایتهایی که ورود از طریق شماره همراه و وارد کردن کد تایید انجام میشه بخشی وجود داره که وقتی کاربر دکمه درخواست کد رو کلیک کرد 2 دقیقه به صورت معکوس شمارش رو انجام میده و اگر کد به هر دلیلی وارد نشد دکمه ارسال مجدد دوباره فعال میکنه
دوستان کسی کد اماده این بخش رو داره :
دو دقیقه به صورت معکوس شمارش انجام بشه و بعد از اتمام این زمان دکمه ارسال مجدد فعال بشه ؟


ثبت پرسش جدید
حسین شیری نژاد
حسین شیری نژاد
تخصص :programmer
@hosseinshirinegad985 سال پیشمطرح شد
3

بفرما اینو تستش کن ببین همون هست که میخوای؟؟

<!DOCTYPE html>
<html lang="en">
<head>
  <title>Timer</title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <style type="text/css">
        body{
            text-align: right;
            direction: rtl;
        }
      .btn-start-timer{
        text-align: center;
        margin-top: 300px;
      }
      .otp-timer{
        margin-top: 30px;
        font-family: tahoma;
        background-color: #eee;
        padding: 10px;
        display: flex;
        justify-content: center;
        align-items: center;
      }
      .otp-timer span{
        margin-left: 5px;
      }
      #minutes, #seconds{
        padding: 6px;
        max-width: 30px;
        border-radius: 3px;
        background-color: green;
        color:white;
      }
      button{
        background: #e80dbc;
        color: #040b04;
        padding: 10px;
        border: none;
        border-radius: 10px;
        cursor: pointer;
      }
      button:hover{
        background-color: green;
        color: white;
      }
  </style>

</head>
<body>
    <div class="btn-start-timer">
        <button onclick="startTimer()" >شروع</button>
    </div>

    <div class="otp-timer">
        <span class="text"> زمان باقیمانده :</span>
        <span id="seconds">00</span>
        <span class="dot">:</span>
        <span id="minutes">0</span>
    </div>
</body>
</html>
<script>
    var minutes;
    var seconds;
    var set_inteval;
    function otp_timer() {
        seconds -= 1;
        document.getElementById('seconds').innerHTML = seconds;
        document.getElementById('minutes').innerHTML = minutes;
        if (seconds == 0) {
            if (minutes > 0) {
                seconds = 60;
                minutes -= 1;
            } else {
                minutes = 0;
                document.getElementById('minutes').innerHTML = minutes;
                clearInterval(set_inteval);
                minutes = 0;
                seconds = 0;
                document.getElementById('seconds').innerHTML = '00';
                document.getElementById('minutes').innerHTML = '0';
            }
        }
    }
    function startTimer() {
        minutes = 3;
        seconds = 60;
        document.getElementById('seconds').innerHTML = seconds;
        document.getElementById('minutes').innerHTML = minutes; 
        set_inteval = setInterval( 'otp_timer()', 1000 );
    }
</script>

البته استایل های css هیچ تاثیری در کار این شمارنده نداره و میتونی همشونو کالا پاک کنی.
این شمارنده روی 4 دقیقه گذاشته شده برای شمارش دلخوا کافیه عدد دقیقه رو به متغییر minutes بدین.


حسین شیری نژاد
حسین شیری نژاد
تخصص :programmer
@hosseinshirinegad985 سال پیشمطرح شد
0

سلام و درود این کدو با جاوااسکریپت خودت هم میتونی بنویسی بنده این کارو قبال انجام دادم و فعلا از حوصله من خارجه و دسترسی هم به اون کد قبلیم ندارم . با جاواسکریپت میتونی این کارو انجام بدی.


grandfather
grandfather
تخصص :پدربزرگ ...
@hossein00655 سال پیشمطرح شد
-3

@hosseinshirinegad98 بله میدونم که با جاوا میشه
اما چجوریشو نمیدونم :)


aliiiabniki
aliiiabniki
تخصص :full stack developer
@aliiiabniki5 سال پیشمطرح شد
0

سلام
میتونید از تابع setInterval در جاوااسکریپت استفاده کنید
سرچ کنید و نمونه های مخلفشو تو نت ببینید
متوجه ساختار و نوع استفادش میشید
موفق باشید


حسین شیری نژاد
حسین شیری نژاد
تخصص :programmer
@hosseinshirinegad985 سال پیشمطرح شد
0
var minutes;
var seconds;
var set_inteval;
function otp_timer() {
    seconds -= 1;
    document.getElementById('seconds').innerHTML = seconds;
    document.getElementById('minutes').innerHTML = minutes;
    if (seconds == 0) {
        if (minutes > 0) {
            seconds = 60;
            minutes -= 1;
        } else {
            minutes = 0;
            document.getElementById('minutes').innerHTML = minutes;
            clearInterval(set_inteval);
            minutes = 0;
            seconds = 0;
            document.getElementById('seconds').innerHTML = '00';
            document.getElementById('minutes').innerHTML = '0';
        }
    }
}
<div class="otp-timer">
    <span class="text"> زمان باقیمانده :</span>
    <span id="seconds">60</span>
    <span class="dot">:</span>
    <span id="minutes">4</span>
</div>

اینطوری بکارش بنداز

minutes = 4;
seconds = 60; 
set_inteval = setInterval( 'otp_timer()', 1000 );

اینطوری هم متوفقش کن.

        clearInterval(set_inteval);
        document.getElementById('seconds').innerHTML = '00';
        document.getElementById('minutes').innerHTML = '0';

حسین شیری نژاد
حسین شیری نژاد
تخصص :programmer
@hosseinshirinegad985 سال پیشمطرح شد
-7

آقای دانشمند ببخشید مشکلتون با کد حل شد.


آقای هگز
آقای هگز
تخصص :برنامه نویس وب
@mrhex5 سال پیشمطرح شد
3

@hosseinshirinegad98
شما کسی چاقو زیر گلوتون نزاشته که حتما جواب بدید که :)
اگه حوصله جواب دادن ندارید خب توی این سکشن سایت نیاید چرا توهین میکنید به کسی که سوال پرسیده؟؟؟؟؟؟
@hesammousavi این مدل جدیده دیگه؟


grandfather
grandfather
تخصص :پدربزرگ ...
@hossein00655 سال پیشمطرح شد
0

@hosseinshirinegad98 مهندس جان ممنون بابت وقتی که گزاشتی چیزی که مد نظر ما هست به این صورته که کاربر با کلیک کردن روی یک دکمه این شمارش معکوس اغاز بشه
چیزی تو این مایه ها :

<html>
<body>
<p>Click the button to wait 3 seconds, then alert "Hello".</p>
<button onclick="myFunction()">Try it</button>
<script>
function myFunction() {
  setTimeout(function(){ alert("Hello"); }, 3000);
}
</script>
</body>
</html>

مشکل این کد اینه که شمارش معکوس رو به کاربر نمایش نمیده و کدهای شما هم با رفرش صفحه اغاز به شمارش میکنه
حالا ان دوتا رو چجوری باید با هم ادغام کرد جای سواله ؟


حسام موسوی
حسام موسوی
تخصص :طراح و برنامه نویس
@hesammousavi5 سال پیشمطرح شد
2

@hosseinshirinegad98
اگر حوصله پاسخگوویی ندارید پس فعالیت نکنید :)
کسی مجبور به اینکار نکرده شما رو
پس به شعور بقیه احترام بزارید 😑😑
این همه سوالی که شما پرسیدید و بقیه جواب دادن اگر بقیه دوستان با این ادبیات بهتون جواب میدادن خودتون چی بهشون میگفتید !!!!


grandfather
grandfather
تخصص :پدربزرگ ...
@hossein00655 سال پیشمطرح شد
0

@hesammousavi جناب موسوی سوال رو من مطرح کردم بعد حوصله پاسخ به چیو ندارم
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
کدوم ادبیات !!!!😐😐😐😐😐


حسین شیری نژاد
حسین شیری نژاد
تخصص :programmer
@hosseinshirinegad985 سال پیشمطرح شد
0

سلام دارم روش کار میکنم بهتون کدشومیدم. اینکه با رفرش صفحه شمارش از نو شروع میشه مقداری دانش بیشتر در زمینه js میخواد. میشه مقدارشو در یه جا مثل localStorag ذخیره کرد و دوباره هنگام refresh خوندش و ادامه شمارشو انجام داد. این مسئله زیاد مهم نیست شاید البته برای کار شما لازم باشه. تواین موقعیت اکثرا کسی صفحه رو refresh نمیکنه.
ضمن اینکه در باره پیام آقای موسوی بگم ایشون به اشتباه بجای اینکه پیامو به من بدن به شما دادن .


grandfather
grandfather
تخصص :پدربزرگ ...
@hossein00655 سال پیشمطرح شد
0

@hosseinshirinegad98 من فکر کنم سوالم رو درست مطرح نکردم
کدهایی که شما فرمودید اوکی هست
فقط اگه بشه با کلیک روی یک گزینه (برای مثال دکمه درخواست کد) این تایمر شروع به شمارش بکنه کار اوکی میشه


حسین شیری نژاد
حسین شیری نژاد
تخصص :programmer
@hosseinshirinegad985 سال پیشمطرح شد
3

بفرما اینو تستش کن ببین همون هست که میخوای؟؟

<!DOCTYPE html>
<html lang="en">
<head>
  <title>Timer</title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <style type="text/css">
        body{
            text-align: right;
            direction: rtl;
        }
      .btn-start-timer{
        text-align: center;
        margin-top: 300px;
      }
      .otp-timer{
        margin-top: 30px;
        font-family: tahoma;
        background-color: #eee;
        padding: 10px;
        display: flex;
        justify-content: center;
        align-items: center;
      }
      .otp-timer span{
        margin-left: 5px;
      }
      #minutes, #seconds{
        padding: 6px;
        max-width: 30px;
        border-radius: 3px;
        background-color: green;
        color:white;
      }
      button{
        background: #e80dbc;
        color: #040b04;
        padding: 10px;
        border: none;
        border-radius: 10px;
        cursor: pointer;
      }
      button:hover{
        background-color: green;
        color: white;
      }
  </style>

</head>
<body>
    <div class="btn-start-timer">
        <button onclick="startTimer()" >شروع</button>
    </div>

    <div class="otp-timer">
        <span class="text"> زمان باقیمانده :</span>
        <span id="seconds">00</span>
        <span class="dot">:</span>
        <span id="minutes">0</span>
    </div>
</body>
</html>
<script>
    var minutes;
    var seconds;
    var set_inteval;
    function otp_timer() {
        seconds -= 1;
        document.getElementById('seconds').innerHTML = seconds;
        document.getElementById('minutes').innerHTML = minutes;
        if (seconds == 0) {
            if (minutes > 0) {
                seconds = 60;
                minutes -= 1;
            } else {
                minutes = 0;
                document.getElementById('minutes').innerHTML = minutes;
                clearInterval(set_inteval);
                minutes = 0;
                seconds = 0;
                document.getElementById('seconds').innerHTML = '00';
                document.getElementById('minutes').innerHTML = '0';
            }
        }
    }
    function startTimer() {
        minutes = 3;
        seconds = 60;
        document.getElementById('seconds').innerHTML = seconds;
        document.getElementById('minutes').innerHTML = minutes; 
        set_inteval = setInterval( 'otp_timer()', 1000 );
    }
</script>

البته استایل های css هیچ تاثیری در کار این شمارنده نداره و میتونی همشونو کالا پاک کنی.
این شمارنده روی 4 دقیقه گذاشته شده برای شمارش دلخوا کافیه عدد دقیقه رو به متغییر minutes بدین.


grandfather
grandfather
تخصص :پدربزرگ ...
@hossein00655 سال پیشمطرح شد
1

@hosseinshirinegad98 ممنونم از وقتی که گذاشتید ...عااااالی


حسین شیری نژاد
حسین شیری نژاد
تخصص :programmer
@hosseinshirinegad985 سال پیشمطرح شد
0

خواهش میکنم


حسام موسوی
حسام موسوی
تخصص :طراح و برنامه نویس
@hesammousavi5 سال پیشمطرح شد
0

@hossein0065 اشتباه تگ کردم منظورم جناب @hosseinshirinegad98 بود !!!


negar
negar
تخصص :اول راه
@negar5 سال پیشمطرح شد
FOENIX
FOENIX
تخصص :کار آموز
@billchmin5 سال پیشمطرح شد
0

با سلام خدمت شما
گاهی وقتا ما منظورمونو با محبت میگیم اما چون حالت چهره و گویشمون معلوم نیست شبیه به توهین میشه @hesammousavi


FOENIX
FOENIX
تخصص :کار آموز
@billchmin5 سال پیشمطرح شد
0

ببخشید جناب من از کد شما استفاده کردم و شخصی سازیش کردم ولی نمی تونم بخش مربوط به رنگ دکمه شروع رو پیدا کنم ممنون میشم یکی راهنمایی کنه@hosseinshirinegad98


فرزین صالحی
فرزین صالحی
تخصص :وردپرس
@salehifarzin4 سال پیشمطرح شد
0

تیکه کد این رو دارید بی زحمت برام ارسال کنید ؟ میخوام بطور خودکار مثلا از یک سال ی دفعه بیاد 0 و یک سال طول بکشه این که بیاد روی 0

@hosseinshirinegad98


شهاب
شهاب
@shahabantic2 سال پیشمطرح شد
0

سلام
@hosseinshirinegad98 امکانش هست این کد رو یه تغییراتی بدید که بعد اتمام زمان سنج بنویسه زمان شما به پایان رسید خیلی ممنون


صفحه 1 از 2

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام