jQuery:滚动时平滑宽度变化
jQuery: Smooth width changing on scroll
我有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);
}
});
});
以及一个宽度:75px 的div 元素。
当用户向下滚动潜水元素时,使用该代码分四个步骤将宽度从 75px 更改为 150px,但我正在寻找可以在没有步骤的情况下将该宽度从 75px 平滑更改为 150px 的东西,知道吗?
也许这个解决方案就是你试图得到的:
$(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"
});
});
});
你可能正在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"
});
}
});
});
js小提琴
参考文献 : .scroll() , .animate()
相关文章:
- Html页面上的多个Base64图像和平滑加载
- 单击页面上的链接后高度发生变化
- Safari(Mac OS)上的jQuery平滑滚动问题
- jquery平滑滚动问题
- React redux初始化功能,无论状态变化如何
- 如何正确编程jQuery动画与平滑(导航栏)
- 角度ng变化或ng点击选择can'不起作用
- 每个选择器的Jquery css颜色都在变化,但字体大小却没有变化
- JS幻灯片与CSS背景颜色变化
- 如何在c3js动态图表上进行平滑(水平)转换
- 使用CSS在选项卡更改时平滑颜色转换
- 重新加载页面时Javascript变量发生变化
- 如何平滑地设置twitter引导程序进度条的动画
- 如何获得Bootstrap Datepicker的年和月,因为它在变化
- 如何用jquery替换字符串中可能变化的字符
- jQuery:滚动时平滑动画字体大小变化
- jQuery:滚动时平滑宽度变化
- 为什么背景颜色会闪烁而不是平滑变化
- 当尺寸变化时,平滑地向上或向下滑动
- css过渡背景变化不平滑