Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在循环内调用javascript函数_Javascript_C#_Asp.net - Fatal编程技术网

如何在循环内调用javascript函数

如何在循环内调用javascript函数,javascript,c#,asp.net,Javascript,C#,Asp.net,如何像“onload”一样调用javascript函数 我是说。我试图调用CountDownTimer()函数,但我不知道怎么做。有人能帮我吗 另外,javascript函数运行良好 在我看来,我是这样尝试的: @foreach (var item in Model.pedidosAberto) { <div class="col-lg-6 mb-4"> <a href="#" data-

如何像“onload”一样调用javascript函数

我是说。我试图调用CountDownTimer()函数,但我不知道怎么做。有人能帮我吗

另外,javascript函数运行良好

在我看来,我是这样尝试的:

 @foreach (var item in Model.pedidosAberto)
    {
        <div class="col-lg-6 mb-4">
            <a href="#" data-toggle="modal" data-id="@item.IdPedido" data-partial="_AbertoPartial"
               data-modal="#Modal" class="card bg-success text-white text-decoration-none">
                <div class="card-body">
                    <div class="float-right">
                        <div id="countdown_@item.IdPedido"></div>
                        <script type="text/javascript">
                             CountDownTimer('06/12/2021 4:45 PM', 'countdown_@item.IdPedido');
                        </script>
                    </div>
                </div>
            </a>
        </div>
    }
@foreach(Model.peddosaberto中的变量项)
{
}
我也有同样的看法:

@section scripts{
<script type="text/javascript">
    $(document).ready(function () {

        //CountDownTimer('06/12/2021 4:45 PM', 'countdown');

        function CountDownTimer(dt, id) {
            var end = new Date(dt);
            alert(end);

            var _second = 1000;
            var _minute = _second * 60;
            var _hour = _minute * 60;
            var _day = _hour * 24;
            var timer;

            function showRemaining() {
                var now = new Date();
                var distance = end - now;
                if (distance < 0) {

                    clearInterval(timer);
                    document.getElementById(id).innerHTML = 'EXPIRED!';

                    return;
                }
                //var days = Math.floor(distance / _day);
                var hours = Math.floor((distance % _day) / _hour);
                var minutes = Math.floor((distance % _hour) / _minute);
                var seconds = Math.floor((distance % _minute) / _second);

                //document.getElementById(id).innerHTML = days + 'days ';
                document.getElementById(id).innerHTML = hours + ':';
                document.getElementById(id).innerHTML += minutes + ':';
                document.getElementById(id).innerHTML += seconds;
            }

            timer = setInterval(showRemaining, 1000);
        }
    });
</script>
@节脚本{
$(文档).ready(函数(){
//倒计时(“2021年12月6日下午4:45”,“倒计时”);
功能倒计时(dt,id){
var结束=新日期(dt);
警报(结束);
var_秒=1000;
var _minute=_second*60;
变量(小时)=(分钟)*60 ;;
var _日=_小时*24;
无功定时器;
函数showLeving(){
var now=新日期();
var距离=结束-现在;
如果(距离<0){
清除间隔(计时器);
document.getElementById(id).innerHTML='EXPIRED!';
返回;
}
//var天数=数学楼层(距离/天数);
var小时=数学楼层((距离%\u天)/\u小时);
var分钟=数学楼层(距离%\u小时)/\u分钟);
var秒=数学楼层((距离%\u分钟)/\u秒);
//document.getElementById(id).innerHTML=days+'days';
document.getElementById(id).innerHTML=hours+':';
document.getElementById(id).innerHTML+=minutes+':';
document.getElementById(id).innerHTML+=秒;
}
定时器=设置间隔(显示剩余,1000);
}
});

您正在
$(document.ready()中的匿名函数中定义
函数倒计时(..)
调用。因此,
CountDownTimer
函数只有在匿名函数执行期间才知道,并且当匿名函数结束时它就不存在了,这意味着
中的脚本在尝试时找不到它

修复这个,在代码< > $(文档).Read()/Cux>调用中使用<代码> > CONDUCTION <代码>,或者如果这就是其中的所有内容,则考虑只删除<代码> $(文档).Read()/Calp>Lo../P> 因此,与此相反:

<script type="text/javascript">
    $(document).ready(function () {
        //CountDownTimer('06/12/2021 4:45 PM', 'countdown');

        function CountDownTimer(dt, id) {
            // ...
        }
    });
</script>

$(文档).ready(函数(){
//倒计时(“2021年12月6日下午4:45”,“倒计时”);
功能倒计时(dt,id){
// ...
}
});
…这样做:

<script type="text/javascript">
    function CountDownTimer(dt, id) {
        // ...
    }

    $(document).ready(function () {
        //CountDownTimer('06/12/2021 4:45 PM', 'countdown');
    });
</script>

功能倒计时(dt,id){
// ...
}
$(文档).ready(函数(){
//倒计时(“2021年12月6日下午4:45”,“倒计时”);
});

您可以从现有脚本中获取倒计时元素,无需在html标记中嵌入大量脚本

首先向倒计时元素添加一个类

<div id="countdown_@item.IdPedido" class="countdown"></div>

CountDownTimer
不是全局公开的,因为它是在传递给
ready()
的函数中定义的。请删除
$(document).ready(function(){/code>和
});
。请注意,您的倒计时可能无法正常工作,因为a)传递给
的日期格式是新日期(字符串)
不是规范中定义的格式之一,因此取决于浏览器和b)具有id的元素可能还不存在(尽管它应该存在,因为您一秒钟都没有调用
showraining
)。更好的方法是向所有倒计时元素添加一个类“countdown”。从函数中获取所有倒计时元素,然后调用函数。至于要传递给函数的数据,可以将其粘贴到倒计时元素的某些属性中。$('.countdown')。每个(函数(){..获取$的数据(此)单击此处并调用函数。});
<div id="countdown_@item.IdPedido" class="countdown" data-date="06/12/2021 4:45 PM"></div>
$(document).ready(function () {
    $('.countdown').each(function() {
        var dateString = $(this).attr('data-date');
        var thisId = $(this).attr('id');

        CountDownTimer(dateString, thisId);
    }
    
    // existing code....
}