国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

使用CSS樣式position:fixed水平滾動的方法

2024-05-06 16:01:08
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了使用CSS樣式position:fixed水平滾動的方法,需要的朋友可以參考下

使用CSS樣式"position:fixed"可以使div塊固定在一個固定位置,即使有滾動條也不會改變其位置。position:fixed給很多開發者帶來了驚艷的效果,然而當出現水平滾動條時,效果就不那么容易接受了。有時候我們希望當出現水平滾動條時,div塊可以隨滾動條左右移動,實現垂直固定定位(fixed),水平相對定位(absolute)。本文提供一個解決方法,附jquery擴展源碼。

本文的實現方式是使用js來控制div塊隨滾動條水平滾動,原理就是當window對象發生scroll事件和resize事件使,更新div塊的left或right的值,使其相對瀏覽器左邊或右邊的位置實時改變。div塊需要時position:fixed樣式修飾。

當div塊在水平方向上是相對瀏覽器右邊固定的,那么當window對象發生scroll或resize事件時,就更新其right樣式值,其值應該是:

復制代碼 代碼如下:


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'});

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 梅河口市| 墨玉县| 青田县| 桐城市| 昔阳县| 昂仁县| 禄丰县| 崇左市| 肃宁县| 嘉义县| 准格尔旗| 会理县| 嘉黎县| 准格尔旗| 富顺县| 临湘市| 阳谷县| 富阳市| 桦南县| 巴林左旗| 兴仁县| 嘉禾县| 澎湖县| 湘潭市| 化德县| 驻马店市| 阳高县| 利辛县| 东源县| 凉城县| 海城市| 区。| 绍兴市| 精河县| 平陆县| 和静县| 乐昌市| 普定县| 芦溪县| 东山县| 兴业县|