Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.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 用jQuery填充进度条(加宽div)_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript 用jQuery填充进度条(加宽div)

Javascript 用jQuery填充进度条(加宽div),javascript,jquery,html,css,Javascript,Jquery,Html,Css,当元素出现在屏幕上时,我试图加宽一个div(模拟一个进程条)。我不能让任何事情发生。我做错了什么?我正在尝试使用: jQuery $(document).ready(function() { $(window).scroll(function() { if ($('.progressFull').isOnScreen() == true) { $(this).animate({

当元素出现在屏幕上时,我试图加宽一个div(模拟一个进程条)。我不能让任何事情发生。我做错了什么?我正在尝试使用:

jQuery

    $(document).ready(function() {

        $(window).scroll(function() {
            if ($('.progressFull').isOnScreen() == true) {
                $(this).animate({
                    'width': '1000%'
                }, 2000);
            }
        });
    });
html

    <div class="skillsCol">
        <ul>

            <li><a class="skill">C++</a>
                <div class="progress"></div>
                <div class="progressFull"></div>
            </li>

        </ul>
    </div>

引用了此处的窗口对象,您可能希望引用
.progress
.progressFull
元素

$('.progressFull').animate({ 'width' : '1000%' }, 2000);  

首先,您没有足够的高度来滚动。因此,未应用窗口滚动

采用以下方法:

<div class="skillsCol">
        <ul>

            <li><a class="skill">C++</a>
                <div class="progress"></div>
                <div class="progressFull"></div>
            </li>

        </ul>
    </div>
<div style="height: 2000px;"></div>

检查:

看起来您正在加宽窗口,而不是div.
$(此)。动画
会影响窗口,因为在前面两行的
$(窗口)
上运行命令。谢谢!当元素不再出现在屏幕上时,是否有办法将宽度重置回0?这种方式总是在按下滚动条后立即启动仪表a。我网站的这个部分在我的页面底部。是否有方法等待直到在视口中可见?这种方法总是在按下滚动条后立即启动仪表a。我网站的这个部分在我的页面底部。是否有方法等待,直到在视口中可见为止?@MattEm为此,您应该使用
窗口加载
,而不是jquery中的文档就绪。
<div class="skillsCol">
        <ul>

            <li><a class="skill">C++</a>
                <div class="progress"></div>
                <div class="progressFull"></div>
            </li>

        </ul>
    </div>
<div style="height: 2000px;"></div>
.skills {
        background - color: white;
    }
        .skillsCol li {
            list - style - type: none;
    }

    .skillsCol {
        width: 45 % ;
    position:fixed;
    top:0;
    left:0;
    right:0;
    }

    .progress {
        width: 0;
        height: 2 % ;
        margin - left: 50 % ;
        margin - top: -5.4 % ;
        border: 1px solid black;
        z - index: 1;
    }

    .progressFull {
        background: #7688A9;
        width: 0;
        height: 2%;
        margin-left: 50%;
        margin-top: -4.1%;
        z-index: 5;
    }