Javascript jQuery:滚动时平滑宽度更改

Javascript jQuery:滚动时平滑宽度更改,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我的jQuery代码正在运行: $(document).ready(function(){ var scroll_pos = 0; $(document).scroll(function() { scroll_pos = $(this).scrollTop(); if(scroll_pos < 10 ) { $("div"

我的jQuery代码正在运行:

$(document).ready(function(){       
            var scroll_pos = 0;
            $(document).scroll(function() { 
                scroll_pos = $(this).scrollTop();
                 if(scroll_pos < 10 ) {
                    $("div").css('width', 75);
                } else if(scroll_pos > 25 && scroll_pos < 75) {
                    $("div").css('width', 100);
                } else if(scroll_pos > 75 && scroll_pos < 100){
                    $("div").css('width', 125);
                }else if(scroll_pos > 100){
                    $("div").css('width', 150);
         } 
    });
});
$(文档).ready(函数(){
var scroll_pos=0;
$(文档)。滚动(函数(){
scroll_pos=$(this).scrollTop();
如果(滚动位置<10){
$(“div”).css('width',75);
}否则如果(滚动位置>25和滚动位置<75){
$(“div”).css('width',100);
}否则如果(滚动位置>75和滚动位置<100){
$(“div”).css('width',125);
}否则如果(滚动位置>100){
$(“div”).css('width',150);
} 
});
});
和一个开始时宽度为75px的div元素


当用户向下滚动俯冲元素时,代码会在四个步骤中将宽度从75px更改为150px,但我正在寻找一种无需步骤就能将宽度从75px平滑更改为150px的方法,有什么想法吗?

您可能正在jQuery中寻找。只需使用动画更改滚动条上div的大小

$(document).ready(function(){     
    $(document).scroll(function() { 
        $("div").animate({
            width : "150px"
        });
    });
});
要连续增加滚动宽度,请尝试这种方式。这将使每个滚动条上的div宽度增加30px,并增加到150px

$(document).ready(function(){  
    $(document).scroll(function() {
        if($("div").width() <= "150"){
            $("div").animate({
                width : "+=30"
            });
        }
    });
});
$(文档).ready(函数(){
$(文档)。滚动(函数(){

如果($(“div”).width()您可能正在jQuery中查找。只需使用animate更改滚动中div的大小即可

$(document).ready(function(){     
    $(document).scroll(function() { 
        $("div").animate({
            width : "150px"
        });
    });
});
要连续增加滚动条上的宽度,请尝试这种方式。这将使每个滚动条上的div宽度增加30px,并将增加到150px

$(document).ready(function(){  
    $(document).scroll(function() {
        if($("div").width() <= "150"){
            $("div").animate({
                width : "+=30"
            });
        }
    });
});
$(文档).ready(函数(){
$(文档)。滚动(函数(){

如果($(“div”).width()您可能正在jQuery中查找。只需使用animate更改滚动中div的大小即可

$(document).ready(function(){     
    $(document).scroll(function() { 
        $("div").animate({
            width : "150px"
        });
    });
});
要连续增加滚动条上的宽度,请尝试这种方式。这将使每个滚动条上的div宽度增加30px,并将增加到150px

$(document).ready(function(){  
    $(document).scroll(function() {
        if($("div").width() <= "150"){
            $("div").animate({
                width : "+=30"
            });
        }
    });
});
$(文档).ready(函数(){
$(文档)。滚动(函数(){

如果($(“div”).width()您可能正在jQuery中查找。只需使用animate更改滚动中div的大小即可

$(document).ready(function(){     
    $(document).scroll(function() { 
        $("div").animate({
            width : "150px"
        });
    });
});
要连续增加滚动条上的宽度,请尝试这种方式。这将使每个滚动条上的div宽度增加30px,并将增加到150px

$(document).ready(function(){  
    $(document).scroll(function() {
        if($("div").width() <= "150"){
            $("div").animate({
                width : "+=30"
            });
        }
    });
});
$(文档).ready(函数(){
$(文档)。滚动(函数(){

如果($((“div”).width(),则此解决方案可能就是您尝试获得的:

$(document).ready(function(){       
    var scroll_pos = 0;
    $(document).scroll(function() {
        scroll_pos = $(this).scrollTop();
        if (scroll_pos > 150) {
            scroll_pos = 150;
        };
        $("div").animate({
            width : (75+0.75*scroll_pos)+"px"
        });
    });
});

也许这个解决方案就是您想要得到的:

$(document).ready(function(){       
    var scroll_pos = 0;
    $(document).scroll(function() {
        scroll_pos = $(this).scrollTop();
        if (scroll_pos > 150) {
            scroll_pos = 150;
        };
        $("div").animate({
            width : (75+0.75*scroll_pos)+"px"
        });
    });
});

也许这个解决方案就是您想要得到的:

$(document).ready(function(){       
    var scroll_pos = 0;
    $(document).scroll(function() {
        scroll_pos = $(this).scrollTop();
        if (scroll_pos > 150) {
            scroll_pos = 150;
        };
        $("div").animate({
            width : (75+0.75*scroll_pos)+"px"
        });
    });
});

也许这个解决方案就是您想要得到的:

$(document).ready(function(){       
    var scroll_pos = 0;
    $(document).scroll(function() {
        scroll_pos = $(this).scrollTop();
        if (scroll_pos > 150) {
            scroll_pos = 150;
        };
        $("div").animate({
            width : (75+0.75*scroll_pos)+"px"
        });
    });
});


你可以在这个链接中添加html内容而不是
。css
使用
。animate
。你可以在这个链接中添加html内容而不是
。css
使用
。animate
。你可以在这个链接中添加html内容而不是
。css
使用
。animate
。你可以在这个链接中添加html内容而不是
。cssde>使用
.animate
。这很好,但是如何在150px处停止?现在它越来越大:)使用if-else条件,如果它小于或等于150px,则允许扩展。答案已更改。这很好,但是如何在150px处停止?现在它越来越大:)使用if-else条件,如果小于或等于150px,则允许扩展。答案已更改。这很好,但如何在150px处停止?现在它越来越大:)使用if-else条件,如果小于或等于150px,则允许扩展。答案已更改。这很好,但如何在150px处停止?现在它越来越大:)使用if-else条件,如果小于或等于150px,则允许扩展。答案已更改。当你向下滚动时,大小不会减小。@Prashant,如果你仔细注意,我的“jsFiddle”有评论说,此测试用例用于增量过程。我只是展示了一种完成工作的方法。不打算做家庭作业。如果你已经向下滚动,则ted那个么你们需要更有力的理由。我检查了问题,用户不想重置或减小宽度。过一段时间我会向上投票给你们的答案。当你们向下滚动时,大小并没有减小。@Prashant,若你们注意的话,我的“JSFIDLE”有评论说这个测试用例是用于增量过程的。我只是展示了一种方法来完成你们的工作。不打算这样做你的家庭作业。如果你投了反对票,那么你需要更有力的理由。我检查了这个问题,用户不希望重置或减少宽度。我会在一段时间后对你的答案进行投票。当你向下滚动时,大小并没有减小。@Prashant,如果你仔细注意的话,我的“JSFIDLE”有评论说这个测试用例用于增量过程。我只是向ge展示了一种方法你的工作没有完成。你不打算做家庭作业。如果你投了反对票,那么你需要更有力的理由。我检查了问题,用户不希望重置或减少宽度。我会在一段时间后向上投票你的答案。当你向下滚动的大小没有减小时。@Prashant,如果你仔细注意的话,我的“JSFIDLE”有评论说这个测试用例用于增量p进程。我只是展示了一种完成工作的方法。不打算做家庭作业。如果你投了反对票,那么你需要更有力的理由。我检查了问题,用户不希望重置或减少宽度。过一段时间我会投票给你的答案。