首页 >

使用CSS样式position:fixed水平滚动办法【jquery】

web前端|js教程使用CSS样式position:fixed水平滚动办法【jquery】
position:fixed,水平滚动
web前端-js教程
使用CSS样式”position:fixed”可以使div块固定在一个固定位置,即使有滚动条也不会改变其位置。position:fixed给很多开发者带来了惊艳的效果,然而当出现水平滚动条时,效果就不那么容易接受了。有时候我们希望当出现水平滚动条时,div块可以随滚动条左右移动,实现垂直固定定位(fixed),水平相对定位(absolute)。本文提供一个解决方法,附jquery扩展源码。
互助理财源码 pc wap,vscode打包xcode,UBUNTU软件下载ps,tomcat 启动cxf,c++sqlite,站群服务器和vps哪个速度快,input版本号插件,前端框架排名 2017,jq爬虫,php反射马,seo如何提高网站权重,免费下载网站模版,开源网页是什么,仿icloud模板,网站维护页面 下载,单个管理系统图片,留言自动发邮箱程序lzw
本文的实现方式是使用js来控制div块随滚动条水平滚动,原理就是当window对象发生scroll事件和resize事件使,更新div块的left或right的值,使其相对浏览器左边或右边的位置实时改变。div块需要时position:fixed样式修饰。
游戏单页网站源码,vscode怎么快速换行,ubuntu无snapp,自动开启tomcat,安卓sqlite毕设,前端框架实现服务器端渲染,爬虫爬出数据怎么生成csv文件,php 连 mysql,山西seo优化趋势,网站服务器下载,webftp 网页版,easyui后台模板lzw
当div块在水平方向上是相对浏览器右边固定的,那么当window对象发生scroll或resize事件时,就更新其right样式值,其值应该是:
swapidc网页源码下载,Ubuntu修改默认源,pv数量 网络爬虫,php header定向,南宁seo资源lzw
 
var new_right = ($(window).scrollLeft() + $(window).width() - $(document).width() + original_right) + 'px'

当div块在水平方向上是相对浏览器左边固定的,那么当window对象发生scroll或resize事件时,就更新其left样式值,其值应该是:

 
var new_left = (original_left - $(window).scrollLeft()) + 'px'

上面代码中出现的original_left和original_right是最初div块的left和right值。完整的jquery扩展代码如下:

 
(function($){
$.ScrollFixed = function(el, options){
var base = this;
base.$el = $(el);
base.el = el;
var target = base.$el;
var original_left = parseInt(target.css('left'));
var original_right = parseInt(target.css('right'));
var _fix_position = function(){
if(base.options.fixed == 'right'){
target.css('right', ($(window).scrollLeft() + $(window).width() - $(document).width() + original_right) + 'px');
} else if(base.options.fixed == 'left'){
target.css('left', (original_left - $(window).scrollLeft()) + 'px');
}
};
var windowResize = function(){
_fix_position();
};
var windowScroll = function(){
_fix_position();
};
base.init = function(){
base.options = $.extend({}, $.ScrollFixed.defaultOptions, options);
$(window).resize(windowResize);
$(window).scroll(windowScroll);
_fix_position();
console.log(base.options.fixed);
};
base.init();
};
$.ScrollFixed.defaultOptions = {
fixed:'left'
};
$.fn.scrollFixed = function(options){
return this.each(function(){
(new $.ScrollFixed(this, options));
});
};
})(jQuery);

使用实例:

$('#leftsider').scrollFixed({fixed:'left'}); 
$('#rightsider').scrollFixed({fixed:'right'});

使用CSS样式position:fixed水平滚动办法【jquery】
  • IE6支持position:fixed完美解决方法
  • IE6支持position:fixed完美解决方法 | IE6支持position:fixed完美解决方法 ...

    使用CSS样式position:fixed水平滚动办法【jquery】
  • 跨浏览器的实践:position:fixed 层的固定定位
  • 跨浏览器的实践:position:fixed 层的固定定位 | 跨浏览器的实践:position:fixed 层的固定定位 ...

    使用CSS样式position:fixed水平滚动办法【jquery】
  • ie6,ie7,ie8完美支持position:fixed的终极解决方案
  • ie6,ie7,ie8完美支持position:fixed的终极解决方案 | ie6,ie7,ie8完美支持position:fixed的终极解决方案 ...