ホームページ  >  記事  >  ウェブフロントエンド  >  jquery ベースのフローティング ボックス (優れたスケーラビリティ)_jquery

jquery ベースのフローティング ボックス (優れたスケーラビリティ)_jquery

WBOY
WBOYオリジナル
2016-05-16 18:20:37886ブラウズ
复制代 代码如下:



<頭>






ここに追加内容







このセグメントのプロキシを個別の js ファイルに配置します。コード内の css コードは実行可能で、表示はなしです。これは、面での未ダウンロードを回避するためであり、不正な問題が表示されます。




代打


代打以下:

(function($) {
$.fn.scrollBox = function(options){
var defaultOptions = {
speed: 0.1, //加速
time: 16, //移动速度
top: 200, //默认顶部
align: 'right', //浮动位置,可选左、右
mix: 0 //边距
};
var options = $.extend(defaultOptions, options);
this.each(function(){
var obj = $(this);
init();
function init(){
obj.css('display', 'block');
obj.css('position', 'absolute');
obj.css(options.align, options.mix);
obj.css('top', options.top 'px');
obj.css('z-index', '99');
move();
}
function back() {
acceleration = options.speed;
time = options.time;
var x1 = 0;
var y1 = 0;
var x2 = 0;
var y2 = 0;
if (document.documentElement) {
x1 = document.documentElement.scrollLeft || 0;
y1 = document.documentElement.scrollTop || 0;
}
if (document.body) {
x2 = document.body.scrollLeft || 0;
y2 = document.body.scrollTop || 0;
}
var x = Math.max(x1, x2);
var y = Math.max(y1, y2);
var speed = acceleration;
return {
l: x,
t: y,
s: speed
};
};

function move(){
var tip = obj;
var old = options.top;
var pos = back().t;
pos = pos - $(tip).Coordinate().y options.top;
pos = $(tip).Coordinate().y pos / 10;
if (pos < options.top) {
pos = options.top;
}
if (pos != old) {
tip.css('top',pos "px");
}
old = pos;
window.setTimeout(function(){move();}, options.time);
};
});
};
$.fn.Coordinate = function(){
var E = $(this)[0];
var C = E.offsetTop;
var B = E.offsetLeft;
var A = E.offsetWidth;
var D = E.offsetHeight;
while (E = E.offsetParent) {
C = E.offsetTop;
B = E.offsetLeft;
}
return {
x: B,
y: C,
w: A,
h: D
};
};
})(jQuery);
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。