مرجع تخصصی برنامه نویسان

بزرگترین انجمن برنامه نویسان فارسی زبان

شمارش معکوس / countdown Timer

پنج شنبه, 17 آبان 1397 17:28

شمارش معکوس / countdown Timer

با عرض سلام و خسته نباشید خدمت دوستان عزیز.

من یه شمارنده معکوس میخواستم (countdown timer) که تو سایت ازش استفاده کنم البته موارد زیادی بودن در این مورد که دوستان زحمت کشیده بودن ولی او چیزی که میخواستم رو پیدا نکردم، میخواستم پارامتر های که به تابع ارسال میشه رو از طریق کد ( حالا تو رویدار پیج لود یا زمانی که یه تابعی فراخوانی میشه تو برنامه ) اون موقع ارسال کنم یا نه توی یه تگ html تو قسمت body تابع رو فراخوانی و پارامتر ها رو واسش بفرستم ( پارامتر مثلا تاریخ انقضا ) ممنون میشم راهنماییم کنید.

پنج شنبه, 17 آبان 1397 17:32

در سایت نمونه هست 

اگر نمی پسندید باید سرچ کنید و نمونه های خارجی ببینید و خودتون اصلاح کنید 

یا میتونید در سایت برنامه نویس با آدرس  https://barnamenevis.ir/ سفارش بدید براتون بسازند 

روز شمار معکوس در Asp.Net

کسانی که از این پست تشکر کرده اند : nima1989n,
پنج شنبه, 17 آبان 1397 17:53

ممنون ، دقیقا همین لینک روز شمار رو که گذاشتید دارم ، فقط یه سوال دارم یه لینک دیگه هم دارم و درسته ولی نمیدونم چجوری تو برنامه فراخوانی کنم یا تو html

 <script type="text/javascript">
        function countdown_clock(clockID, year, month, day, hour, minute) {
            countdown(clockID, year, month, day, hour, minute);
        }

        function countdown(clockID, year, month, day, hour, minute) {
            Today = new Date();
            Todays_Year = Today.getFullYear();
            Todays_Month = Today.getMonth();

            //Convert both today's date and the target date into miliseconds.                           
            Todays_Date = (new Date(Todays_Year, Todays_Month, Today.getDate(),
                Today.getHours(), Today.getMinutes(), Today.getSeconds())).getTime();
            Target_Date = (new Date(year, month - 1, day, hour, minute, 00)).getTime();

            //Find their difference, and convert that into seconds.                  
            Time_Left = Math.round((Target_Date - Todays_Date) / 1000);

            if (Time_Left < 0)
                Time_Left = 0;

            days = Math.floor(Time_Left / (60 * 60 * 24));
            Time_Left %= (60 * 60 * 24);
            hours = Math.floor(Time_Left / (60 * 60));
            Time_Left %= (60 * 60);
            minutes = Math.floor(Time_Left / 60);
            Time_Left %= 60;
            seconds = Time_Left;

            dps = 's'; hps = 's'; mps = 's'; sps = 's';
            //ps is short for plural suffix.
            if (days == 1) dps = '';
            if (hours == 1) hps = '';
            if (minutes == 1) mps = '';
            if (seconds == 1) sps = '';

            var clock = document.getElementById(clockID);
            clock.innerHTML = days + ' day' + dps + ' ';
            clock.innerHTML += hours + ' hour' + hps + ' ';
            clock.innerHTML += minutes + ' minute' + mps + ' and ';
            clock.innerHTML += seconds + ' second' + sps;

            //Recursive call, keeps the clock ticking.
            setTimeout('countdown("' + clockID + '",' + year + ',' + month + ',' + day + ',' + hour + ',' + minute + ');', 1000);
        }
    </script>

اینم کدش هستش

protected override void OnPreRender(EventArgs e)
        {
            DateTime endDate = new DateTime(2020, 6, 1, 0, 0, 0);
            string script = string.Format("countdown_clock('clock', {0}, {1}, {2}, {3}, {4});", endDate.Year, endDate.Month, endDate.Day, endDate.Hour, endDate.Minute);
            ScriptManager.RegisterStartupScript(this, this.GetType(), "countdown", script, true);
            base.OnPreRender(e);
        }

الان مشکلی که دارم نمیدونم اینارو چجوری بهم وصل کنم و در زمان لود شدن سایت خروجی رو بگیرم

جمعه, 18 آبان 1397 10:40

اگر تکی هست که در صفحه قرار دهید و در کد بهشون دسترسی دارید با نام کنترل ها 

اگر تعداد هست میتونید با Repeater یا ListView روی صفحه قرار دهید و با DataSource کنترلشون کنید 

کسانی که از این پست تشکر کرده اند : nima1989n,
شنبه, 19 آبان 1397 01:18

ممنون از جوابتون ، مشکله من هم همین هستش ، نمیدونم که چجوی این تابع رو فراخوانی کنم ، مثلا این تگ رو دارم چجوری مقادیر تاریخ رو واسه تابع بفرستم که بیاد و تو این لیبل یا تگ a یا هر چیزه دیگه ای بشینه.

<asp:Label ID="lbl_countdown" runat="server"></asp:Label>

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

شنبه, 19 آبان 1397 06:43

باید استفاده از ViewState ارسال کنید و در تابع دریافت کنید 

یا میتونید در یه Hidden Field قرار دهید و در تابع از اون مقدار رو بگیرید 

ارسال پاسخ برای این تاپیک

ارسال پاسخ مخصوص اعضا سایت می باشد ! میتوانید با حساب کاربری خود وارد سایت شده یا ثبت نام کنید