0

スクロールでスキルバーをアニメーション化しようとしていますが、今はさらに一歩進んで、上にスクロールしたときにアニメーションを下げようとしています。

そのため、330 バーまでスクロールすると、各 div 幅にアニメーション化され、今は上にスクロールして幅 0 にアニメーション化する必要があります

JS:

> $(document).ready(function(){ $(document).scroll(function() { var top
> = $(document).scrollTop(); console.log(top);
>     if (top > 330) {
>         $("#html, #css").animate({width:"100%"}, 2000);
>     } else {
>         $("#html, #css").animate({width:"0%"}, 2000); /* not working */
>     }
>     
>     
>     if (top > 330) $("#javascript").animate({width:"70%"}, 2000);
>     if (top > 330) $("#php").animate({width:"50%"}, 2000);
>     if (top > 330) $("#mysql").animate({width:"30%"}, 2000);
>     if (top > 330) $("#wordpress").animate({width:"60%"}, 2000);
>     }); });

CSS:

> #height {  height:1000px;    }
> 
> ul {
>     list-style-type: none;
>     font-family: 'Open Sans';
>     color: #787878;
>     font-size: 0.8em;
>     font-weight: 500;
>     font-style: italic;
>     line-height: 160%;
>     letter-spacing: 1px; }
> 
> } li {
>     padding: 2px 0 2px 0; }
> 
> #html, #css, #javascript, #php, #mysql, #wordpress {
>     background-color: #0194bd;
>     width:  0%;
>     height: 9px;
>     margin-bottom: 10px; }

HTML:

<div id="height"></div>
> 
> <ul>
>     <li>HTML</li>
>     <li id="html" class="full">&nbsp</li>
>     <li>CSS</li>
>     <li id="css"></li>
>     <li>Javascript</li>
>     <li id="javascript"></li>
>     <li>PHP</li>
>     <li id="php"></li>
>     <li>MySQL</li>
>     <li id="mysql"></li>
>     <li>Wordpress</li>
>     <li id="wordpress"></li> </ul>
4

1 に答える 1

0

if else ステートメントでしばらく遊んだ後、元のサイズに戻るためにアニメーションの再生が停止していないことに気付きました。

だから私は以下を追加しました:

$(document).ready(function(){
$(document).scroll(function() {
var top = $(document).scrollTop();
console.log(top);
    if (top > 330) {
        $("#html, #css").animate({width:"100%"}, 2000);
    } else {
        $("#html, #css").stop(true).animate({width:"0"}, '2000');  <--- this line             
    }
    });
});
于 2013-10-18T16:03:09.240 に答える