jQuery将div等固定在浏览器右上角的方法

 
//jQuery将div等固定在浏览器右上角的方法
//$(window):浏览器对象
//$(document.body):body对象
//$(document):文档对象
(function($){// 拓展自jQuery
	$.extend({// 静态方法写法(自定义一个叫osiris的类,避免与jQuery自身方法重名)
		osiris : {
			setTopRight : function($this){
				$this.css({"display": "block", "position": "absolute", "text-align": "right"})
				.animate( { 
					left : $(window).width() - $this.width()
				}, 0)
				$(window).scroll(function(){
					$this.animate( { 
						top : $(document.body).scrollTop(), 
						left : $(window).width() - $this.width() + $(document.body).scrollLeft()
					}, 0);
				}).resize(function(){
					$this.animate( { 
						left : $(window).width() - $this.width() 
					}, 0);
				});
			}
		}
	});
	$.fn.extend({// 实例方法写法(这个我不会用自定义类的方法写成可以像“$(selector).osiris.setTopRight()”这样调用,会的同学欢迎提意见)
		setTopRight : function(){
			var $this =$(this);
			$this.css({"display": "block", "position": "absolute", "text-align": "right"})
			.animate( { 
				left : $(window).width() - $this.width()
			}, 0)
			$(window).scroll(function(){
				$this.animate( { 
					top : $(document.body).scrollTop(), 
					left : $(window).width() - $this.width() + $(document.body).scrollLeft()
				}, 0);
			}).resize(function(){
				$this.animate( { 
					left : $(window).width() - $this.width() 
				}, 0);
			});
		}
	});
})(jQuery);

// 调用方法
$(document).ready(function(){
	//$("#topRight").setTopRight(); 		//(1)实例方法,自身调用
	$.osiris.setTopRight($("#topRight")); 	//(2)静态方法,调用jQuery的自定义类osiris里面的静态方法
})

// 用法:控件的直接parent标签必须是body,貌似是吧……
<body>
<div id="topRight" style="width:100px; position: absolute;">topRight</>
</body>

//用animate是因为我的浏览器ie8用offset()只能取值却改不了值,暂时不知道为啥……

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值