JS大神帮我看看, 传参问题, 谢谢

我想把两个方法封装起来, 以后就可以多次使用了, 时间只能显示一次就报错 ? 还有fn也传不了? 是因为setTimeout的问题 ?

5803b31800017edb05000212.jpg

5803b3180001d20b05000314.jpg

代码: 

    <h1 id="box2"></h1>
    <input type="button" id="button" value="倒计时">
    
    <script type="text/javascript">
        window.onload = function () {
            // 倒时时
            var button = document.getElementById('button');
                button.disabled = true;
            showTime().countDown('box2',function () {
                button.disabled = false;
            });
            button.onclick = function () {
                console.log(this);
            }
        }
        function showTime() {
            return {
                countDown:function (id,fn) {
                    var nowTime = new Date();
                    var endTime = new Date('2016/10/17,01:02:50');
                    var resultTime = parseInt((endTime.getTime() - nowTime.getTime()) / 1000); // 毫秒 时间差
                    var d = parseInt(resultTime / (24*60*60)); //天
                    var h = showTime().checkTime(parseInt(resultTime / (60*60) % 24));//时
                    var m = showTime().checkTime(parseInt(resultTime / 60 % 60)); //分
                    var s = showTime().checkTime(parseInt(resultTime % 60));//秒
                    // document.getElementById('box2').innerHTML = d+'天'+h+'时'+m+'分'+s+'秒';
                    document.getElementById(id).innerHTML = d+'天'+h+'时'+m+'分'+s+'秒';
                    if (resultTime <= 0) {
                        fn();
                        document.getElementById(id).innerHTML = 'End';
                    }
                    setTimeout(showTime().countDown,1000);
                },
                checkTime:function (num) {
                    if (num < 10) {
                        num = '0'+num;
                    }
                    return num;
                }
            }
        }
    </script>


SuperManSuperWorld
浏览 1501回答 3
3回答

千秋此意

 setTimeout(function(){      showTime().countDown(id,fn);  },1000);把33行改成这样就行了
打开App,查看更多内容
随时随地看视频慕课网APP