数码资讯
使用CSS样式位置的方法:固定滚动
CSS样式使用固定位置:让div块被固定在一个固定的位置,即使滚动条不改变它的位置。位置:固定带来很多很多开发商惊人的效果,但当水平滚动条的出现,效果不是那么容易接受有时我们希望在水平滚动条的出现,div块可以左右移动滚动条来实现垂直固定位置(固定)和横向的相对位置(绝对),本文提供了一种解决方案与
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
CSS样式使用固定位置:让div块被固定在一个固定的位置,即使滚动条不改变它的位置。位置:固定带来很多很多开发商惊人的效果,但当水平滚动条的出现,效果不是那么容易接受有时我们希望在水平滚动条的出现,div块可以左右移动滚动条来实现垂直固定位置(固定)和横向的相对位置(绝对),本文提供了一种解决方案与jQuery扩展源。
本文的实现是使用JS控制滚动条水平滚动的div块。其原理是,当窗口对象发生滚动事件和调整大小事件时,它会更新div块的左或右值,使其与浏览器左侧或右侧的位置相对应。
当div块相对于浏览器的右侧在水平方向上固定时,当窗口对象发生滚动或调整大小事件时,它将更新其正确的样式值。它的价值应该是:
复制代码代码如下所示:
无功new_right =($(窗口),ScrollLeft()+ $(窗口),Width()$(document)。Width()+ original_right)+ 'px
当div块固定在浏览器相对于水平方向的左侧时,当窗口对象发生滚动或调整大小事件时,它的左样式值将被更新。它的价值应该是:
复制代码代码如下所示:
无功new_left =(original_left $(窗口),ScrollLeft())+ 'px
的original_left和original_right在上面的代码中出现,左和原div块正确的价值观。完整的jQuery扩展的代码如下:
复制代码代码如下所示:
(函数($){)
美元。scrollfixed =功能(EL,选项){
var =;
基础$ EL = $(EL);
base.el = EL;
var目标=基础;
无功original_left = parseInt(target.css(右));
无功original_right = parseInt(target.css(左));
无功_fix_position =函数(){()
如果(base.options.fixed = =左){
Target.css(左,($(窗口),ScrollLeft()+ $(窗口),Width()$(document)。Width()+ original_right)+ 'px);
否则如果}(base.options.fixed = =右){
Target.css(右,(original_left $(窗口),ScrollLeft())+ 'px);
}
};
无功windowresize =函数(){()
_fix_position();
};
无功windowscroll =函数(){()
_fix_position();
};
base.init =函数(){
base.options(美元。scrollfixed.defaultoptions,美元。延长= {},选项);
$(窗口)大小(windowresize);
$(窗口)滚动(windowscroll);
_fix_position();
console.log(基地。选项。固定);
};
Base.init();
};
scrollfixed.defaultoptions = { {美元。
修正:右
};
美元。fn.scrollfixed =功能(选项){
返回this.each(函数(){()
(新的美元。ScrollFixed(这个选项));
});
};
}(jQuery);
举个例子:
复制代码代码如下所示:
$(# leftsider)。ScrollFixed({固定:右});
$(# rightsider)。ScrollFixed({固定:左});
本文的实现是使用JS控制滚动条水平滚动的div块。其原理是,当窗口对象发生滚动事件和调整大小事件时,它会更新div块的左或右值,使其与浏览器左侧或右侧的位置相对应。
当div块相对于浏览器的右侧在水平方向上固定时,当窗口对象发生滚动或调整大小事件时,它将更新其正确的样式值。它的价值应该是:
复制代码代码如下所示:
无功new_right =($(窗口),ScrollLeft()+ $(窗口),Width()$(document)。Width()+ original_right)+ 'px
当div块固定在浏览器相对于水平方向的左侧时,当窗口对象发生滚动或调整大小事件时,它的左样式值将被更新。它的价值应该是:
复制代码代码如下所示:
无功new_left =(original_left $(窗口),ScrollLeft())+ 'px
的original_left和original_right在上面的代码中出现,左和原div块正确的价值观。完整的jQuery扩展的代码如下:
复制代码代码如下所示:
(函数($){)
美元。scrollfixed =功能(EL,选项){
var =;
基础$ EL = $(EL);
base.el = EL;
var目标=基础;
无功original_left = parseInt(target.css(右));
无功original_right = parseInt(target.css(左));
无功_fix_position =函数(){()
如果(base.options.fixed = =左){
Target.css(左,($(窗口),ScrollLeft()+ $(窗口),Width()$(document)。Width()+ original_right)+ 'px);
否则如果}(base.options.fixed = =右){
Target.css(右,(original_left $(窗口),ScrollLeft())+ 'px);
}
};
无功windowresize =函数(){()
_fix_position();
};
无功windowscroll =函数(){()
_fix_position();
};
base.init =函数(){
base.options(美元。scrollfixed.defaultoptions,美元。延长= {},选项);
$(窗口)大小(windowresize);
$(窗口)滚动(windowscroll);
_fix_position();
console.log(基地。选项。固定);
};
Base.init();
};
scrollfixed.defaultoptions = { {美元。
修正:右
};
美元。fn.scrollfixed =功能(选项){
返回this.each(函数(){()
(新的美元。ScrollFixed(这个选项));
});
};
}(jQuery);
举个例子:
复制代码代码如下所示:
$(# leftsider)。ScrollFixed({固定:右});
$(# rightsider)。ScrollFixed({固定:左});
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。