Heim >Web-Frontend >js-Tutorial >基于jquery的一个浮动框(扩展性比较好 )_jquery

基于jquery的一个浮动框(扩展性比较好 )_jquery

WBOY
WBOYOriginal
2016-05-16 18:20:37936Durchsuche
复制代码 代码如下:










在此添加内容






把下面这段代理放到单独的js文件中,代码中的css代码可以删掉,display设为none,是为了避免在页面未加载完,显示不正确的问题。
复制代码 代码如下:

(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 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);
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn