Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.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 当scroller为2500px时,如何运行此脚本?_Javascript_Jquery - Fatal编程技术网

Javascript 当scroller为2500px时,如何运行此脚本?

Javascript 当scroller为2500px时,如何运行此脚本?,javascript,jquery,Javascript,Jquery,我在这里试过了,但我觉得我做错了什么,能帮忙吗? 我在这里看到了一个类似的代码,刚刚修改过。 多谢各位 $(document).ready(function(){ $(document).scrollTop() >= 2500) { var bar = $('.bar'); var p = $('.percents'); var interval; var start = 0; // s

我在这里试过了,但我觉得我做错了什么,能帮忙吗? 我在这里看到了一个类似的代码,刚刚修改过。 多谢各位

$(document).ready(function(){
    $(document).scrollTop() >= 2500) {
            var bar = $('.bar');
            var p = $('.percents');
            var interval;
            var start = 0; // start animation at 0%
            var end = parseInt(92); // stop progress bar on 78% just for demo
            var current = start;

            var countUp = function() {
                // increment by one during each function call
                current++;
                bar.css('width', current+'%');
                // update percents in html
                p.html(current + "%");
                // stop interval if we reached our goal (78%)
                if (current === end) {
                    clearInterval(interval);
                }
            };

            // change progress bar every 1000 / (78+1) milliseconds
            interval = setInterval(countUp, (2500 / (end + 1)));
    };                
});

您遇到的问题是什么

如前所述,代码的第二行将生成语法错误。您可能需要以下内容:

if ($(document).scrollTop() >= 2500) {

我认为您应该在scroll事件回调中这样做,因为目前,您的内容在文档刚加载后执行一次,并且滚动处于0

$(document).ready(function() {
    var $scroll = $('#scroll'),
        isLoading = false;
    $(document).on('scroll', function (e) {
        $scroll.text($(document).scrollTop());
        if ($(document).scrollTop() >= 2500) {
            if (!isLoading) {
                isLoading = true;
                $scroll.addClass('blue');
                var bar = $('.bar');
                var p = $('.percents');
                var interval;
                var start = 0; // start animation at 0%
                var end = parseInt(92); // stop progress bar on 78% just for demo
                var current = start;

                var countUp = function() {
                    // increment by one during each function call
                    current++;
                    bar.css('width', current+'%');
                    // update percents in html
                    p.html(current + "%");
                    // stop interval if we reached our goal (78%)
                    if (current === end) {
                        clearInterval(interval);
                        // isLoading = false; // uncomment if you want to load something again !
                    }
                };

                // change progress bar every 1000 / (78+1) milliseconds
                interval = setInterval(countUp, (2500 / (end + 1)));
            }
        } else {
            $scroll.removeClass('blue');  
        };
    });
});

您在第2行的代码
$(document).scrollTop()>=2500{
无效-请修复。感谢您的回复,问题是chrome在终端停止,但是脚本(effect progrs)内部不起作用。按照当前编写第二行代码的方式,所有浏览器都将停止处理。您的代码的语法不正确-因此,我的建议(我相信它完成了您的尝试,并且是正确的语法)。