jQuery 位置插件
更新時(shí)間:2008年12月25日 12:23:44 作者:
可以讓指定的層浮動(dòng)到網(wǎng)頁上的任何位置,當(dāng)滾動(dòng)條滾動(dòng)時(shí)它會(huì)保持在當(dāng)前位置不變,不會(huì)產(chǎn)生閃動(dòng)
插件代碼:
/*任意位置浮動(dòng)固定層*/
/*沒劍(http://regedit.cnblogs.com) 08-03-11*/
/*說明:可以讓指定的層浮動(dòng)到網(wǎng)頁上的任何位置,當(dāng)滾動(dòng)條滾動(dòng)時(shí)它會(huì)保持在當(dāng)前位置不變,不會(huì)產(chǎn)生閃動(dòng)*/
/*2008-4-1修改:當(dāng)自定義right位置時(shí)無效,這里加上一個(gè)判斷
有值時(shí)就不設(shè)置,無值時(shí)要加18px已修正層位置在ie6下的問題
*/
/*調(diào)用:
1 無參數(shù)調(diào)用:默認(rèn)浮動(dòng)在右下角
$("#id").floatdiv();
2 內(nèi)置固定位置浮動(dòng)
//右下角
$("#id").floatdiv("rightbottom");
//左下角
$("#id").floatdiv("leftbottom");
//右下角
$("#id").floatdiv("rightbottom");
//左上角
$("#id").floatdiv("lefttop");
//右上角
$("#id").floatdiv("righttop");
//居中
$("#id").floatdiv("middle");
3 自定義位置浮動(dòng)
$("#id").floatdiv({left:"10px",top:"10px"});
以上參數(shù),設(shè)置浮動(dòng)層在left 10個(gè)像素,top 10個(gè)像素的位置
*/
jQuery.fn.floatdiv=function(location){
//ie6要隱藏縱向滾動(dòng)條
var isIE6=false;
if($.browser.msie && $.browser.version=="6.0"){
$("html").css("overflow-x","auto").css("overflow-y","hidden");
isIE6=true;
};
$("body").css({margin:"0px",padding:"0 10px 0 10px",
border:"0px",
height:"100%",
overflow:"auto"
});
return this.each(function(){
var loc;//層的絕對(duì)定位位置
if(location==undefined || location.constructor == String){
switch(location){
case("rightbottom")://右下角
loc={right:"0px",bottom:"0px"};
break;
case("leftbottom")://左下角
loc={left:"0px",bottom:"0px"};
break;
case("lefttop")://左上角
loc={left:"0px",top:"0px"};
break;
case("righttop")://右上角
loc={right:"0px",top:"0px"};
break;
case("middle")://居中
var l=0;//居左
var t=0;//居上
var windowWidth,windowHeight;//窗口的高和寬
//取得窗口的高和寬
if (self.innerHeight) {
windowWidth=self.innerWidth;
windowHeight=self.innerHeight;
}else if (document.documentElement&&document.documentElement.clientHeight) {
windowWidth=document.documentElement.clientWidth;
windowHeight=document.documentElement.clientHeight;
} else if (document.body) {
windowWidth=document.body.clientWidth;
windowHeight=document.body.clientHeight;
}
l=windowWidth/2-$(this).width()/2;
t=windowHeight/2-$(this).height()/2;
loc={left:l+"px",top:t+"px"};
break;
default://默認(rèn)為右下角
loc={right:"0px",bottom:"0px"};
break;
}
}else{
loc=location;
}
$(this).css("z-index","9999").css(loc).css("position","fixed");
if(isIE6){
if(loc.right!=undefined){
//2008-4-1修改:當(dāng)自定義right位置時(shí)無效,這里加上一個(gè)判斷
//有值時(shí)就不設(shè)置,無值時(shí)要加18px已修正層位置
if($(this).css("right")==null || $(this).css("right")==""){
$(this).css("right","18px");
}
}
$(this).css("position","absolute");
}
});
};
使用方法:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>任意位置浮動(dòng)窗口插件</title>
<script type="text/javascript" src="../js/jquery-1.2.6.js"></script>
<script type="text/javascript" src="../js/jquery.floatDiv.js"></script>
<script type="text/javascript">
$(function(){
$("#test").floatdiv({top:"200px",right:"200px"});
$("#rtop").floatdiv("righttop");
$("#floatAd").floatdiv({top:"50px",left:"50px"});
});
</script>
</head>
<body>
<div id="rtop" style="background-color: #666633; width: 300px; height: 100px;padding:2px;color:white;">右上角</div>
<div id="floatAd" style="background-color: #667733; width: 300px; height: 100px;padding:2px;color:white;">左下角</div>
<div id="test" style="background-color: #665533; width: 300px; height: 100px;padding:2px;color:white;">
<p>
/*任意位置浮動(dòng)固定層*/<br />
/*說明:可以讓指定的層浮動(dòng)到網(wǎng)頁上的任何位置,當(dāng)滾動(dòng)條滾動(dòng)時(shí)它會(huì)保持在當(dāng)前位置不變,不會(huì)產(chǎn)生閃動(dòng)*/<br />
/*調(diào)用:<br />
1 無參數(shù)調(diào)用:默認(rèn)浮動(dòng)在右下角<br />
$("#id").floatdiv();</p>
<p>
2 內(nèi)置固定位置浮動(dòng)<br />
//右下角<br />
$("#id").floatdiv("rightbottom");<br />
//左下角<br />
$("#id").floatdiv("leftbottom");<br />
//右下角<br />
$("#id").floatdiv("rightbottom");<br />
//左上角<br />
$("#id").floatdiv("lefttop");<br />
//右上角<br />
$("#id").floatdiv("righttop");<br />
//居中<br />
$("#id").floatdiv("middle");</p>
<p>
3 自定義位置浮動(dòng)<br />
$("#id").floatdiv({left:"10px",top:"10px"});<br />
以上參數(shù),設(shè)置浮動(dòng)層在left 10個(gè)像素,top 10個(gè)像素的位置<br />
*/</p>
</div>
<div>hello<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
hello
</div>
</body>
</html>
/*任意位置浮動(dòng)固定層*/
/*沒劍(http://regedit.cnblogs.com) 08-03-11*/
/*說明:可以讓指定的層浮動(dòng)到網(wǎng)頁上的任何位置,當(dāng)滾動(dòng)條滾動(dòng)時(shí)它會(huì)保持在當(dāng)前位置不變,不會(huì)產(chǎn)生閃動(dòng)*/
/*2008-4-1修改:當(dāng)自定義right位置時(shí)無效,這里加上一個(gè)判斷
有值時(shí)就不設(shè)置,無值時(shí)要加18px已修正層位置在ie6下的問題
*/
/*調(diào)用:
1 無參數(shù)調(diào)用:默認(rèn)浮動(dòng)在右下角
$("#id").floatdiv();
2 內(nèi)置固定位置浮動(dòng)
//右下角
$("#id").floatdiv("rightbottom");
//左下角
$("#id").floatdiv("leftbottom");
//右下角
$("#id").floatdiv("rightbottom");
//左上角
$("#id").floatdiv("lefttop");
//右上角
$("#id").floatdiv("righttop");
//居中
$("#id").floatdiv("middle");
3 自定義位置浮動(dòng)
$("#id").floatdiv({left:"10px",top:"10px"});
以上參數(shù),設(shè)置浮動(dòng)層在left 10個(gè)像素,top 10個(gè)像素的位置
*/
jQuery.fn.floatdiv=function(location){
//ie6要隱藏縱向滾動(dòng)條
var isIE6=false;
if($.browser.msie && $.browser.version=="6.0"){
$("html").css("overflow-x","auto").css("overflow-y","hidden");
isIE6=true;
};
$("body").css({margin:"0px",padding:"0 10px 0 10px",
border:"0px",
height:"100%",
overflow:"auto"
});
return this.each(function(){
var loc;//層的絕對(duì)定位位置
if(location==undefined || location.constructor == String){
switch(location){
case("rightbottom")://右下角
loc={right:"0px",bottom:"0px"};
break;
case("leftbottom")://左下角
loc={left:"0px",bottom:"0px"};
break;
case("lefttop")://左上角
loc={left:"0px",top:"0px"};
break;
case("righttop")://右上角
loc={right:"0px",top:"0px"};
break;
case("middle")://居中
var l=0;//居左
var t=0;//居上
var windowWidth,windowHeight;//窗口的高和寬
//取得窗口的高和寬
if (self.innerHeight) {
windowWidth=self.innerWidth;
windowHeight=self.innerHeight;
}else if (document.documentElement&&document.documentElement.clientHeight) {
windowWidth=document.documentElement.clientWidth;
windowHeight=document.documentElement.clientHeight;
} else if (document.body) {
windowWidth=document.body.clientWidth;
windowHeight=document.body.clientHeight;
}
l=windowWidth/2-$(this).width()/2;
t=windowHeight/2-$(this).height()/2;
loc={left:l+"px",top:t+"px"};
break;
default://默認(rèn)為右下角
loc={right:"0px",bottom:"0px"};
break;
}
}else{
loc=location;
}
$(this).css("z-index","9999").css(loc).css("position","fixed");
if(isIE6){
if(loc.right!=undefined){
//2008-4-1修改:當(dāng)自定義right位置時(shí)無效,這里加上一個(gè)判斷
//有值時(shí)就不設(shè)置,無值時(shí)要加18px已修正層位置
if($(this).css("right")==null || $(this).css("right")==""){
$(this).css("right","18px");
}
}
$(this).css("position","absolute");
}
});
};
使用方法:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>任意位置浮動(dòng)窗口插件</title>
<script type="text/javascript" src="../js/jquery-1.2.6.js"></script>
<script type="text/javascript" src="../js/jquery.floatDiv.js"></script>
<script type="text/javascript">
$(function(){
$("#test").floatdiv({top:"200px",right:"200px"});
$("#rtop").floatdiv("righttop");
$("#floatAd").floatdiv({top:"50px",left:"50px"});
});
</script>
</head>
<body>
<div id="rtop" style="background-color: #666633; width: 300px; height: 100px;padding:2px;color:white;">右上角</div>
<div id="floatAd" style="background-color: #667733; width: 300px; height: 100px;padding:2px;color:white;">左下角</div>
<div id="test" style="background-color: #665533; width: 300px; height: 100px;padding:2px;color:white;">
<p>
/*任意位置浮動(dòng)固定層*/<br />
/*說明:可以讓指定的層浮動(dòng)到網(wǎng)頁上的任何位置,當(dāng)滾動(dòng)條滾動(dòng)時(shí)它會(huì)保持在當(dāng)前位置不變,不會(huì)產(chǎn)生閃動(dòng)*/<br />
/*調(diào)用:<br />
1 無參數(shù)調(diào)用:默認(rèn)浮動(dòng)在右下角<br />
$("#id").floatdiv();</p>
<p>
2 內(nèi)置固定位置浮動(dòng)<br />
//右下角<br />
$("#id").floatdiv("rightbottom");<br />
//左下角<br />
$("#id").floatdiv("leftbottom");<br />
//右下角<br />
$("#id").floatdiv("rightbottom");<br />
//左上角<br />
$("#id").floatdiv("lefttop");<br />
//右上角<br />
$("#id").floatdiv("righttop");<br />
//居中<br />
$("#id").floatdiv("middle");</p>
<p>
3 自定義位置浮動(dòng)<br />
$("#id").floatdiv({left:"10px",top:"10px"});<br />
以上參數(shù),設(shè)置浮動(dòng)層在left 10個(gè)像素,top 10個(gè)像素的位置<br />
*/</p>
</div>
<div>hello<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
hello
</div>
</body>
</html>
相關(guān)文章
jquery的相對(duì)父元素和相對(duì)文檔定位示例代碼
在開發(fā)jquery時(shí)候經(jīng)常需要用到定位,有相對(duì)父元素定位和相對(duì)文檔定位,本文為此總結(jié)下,有需要的朋友可以參考下2013-08-08jQuery實(shí)現(xiàn)獲取form表單內(nèi)容及綁定數(shù)據(jù)到form表單操作分析
這篇文章主要介紹了jQuery實(shí)現(xiàn)獲取form表單內(nèi)容及綁定數(shù)據(jù)到form表單操作,結(jié)合jQuery封裝插件操作分析了jQuery針對(duì)form表單的serializeJson數(shù)據(jù)獲取及setForm數(shù)據(jù)綁定相關(guān)操作技巧,需要的朋友可以參考下2018-07-07jQuery實(shí)現(xiàn)對(duì)網(wǎng)頁節(jié)點(diǎn)的增刪改查功能示例
這篇文章主要介紹了jQuery實(shí)現(xiàn)對(duì)網(wǎng)頁節(jié)點(diǎn)的增刪改查功能,涉及jQuery針對(duì)網(wǎng)頁DOM節(jié)點(diǎn)的獲取、屬性修改等相關(guān)操作技巧,需要的朋友可以參考下2017-09-09jQuery獲取動(dòng)態(tài)添加元素的方法詳解
這篇文章主要介紹了jQuery獲取動(dòng)態(tài)添加元素的方法詳解,jQuery 是一個(gè)高效、精簡(jiǎn)并且功能豐富的 JavaScript 工具庫,它提供的 API 易于使用且兼容眾多瀏覽器,這讓諸如 HTML 文檔遍歷和操作、事件處理、動(dòng)畫和 Ajax 操作更加簡(jiǎn)單,需要的朋友可以參考下2023-08-08juqery 學(xué)習(xí)之三 選擇器 子元素與表單
juqery 學(xué)習(xí)之三 選擇器 子元素與表單,學(xué)習(xí)jquery的朋友可以參考下。2010-11-11關(guān)于頁面加載即執(zhí)行JQuery的三種方法小結(jié)
這篇文章主要介紹了關(guān)于頁面加載即執(zhí)行JQuery的三種方法小結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-10-10解決jQuery插件tipswindown與hintbox沖突
先掃下盲:tipswindown是jQuery的彈窗插件,可以使用url或當(dāng)前頁元素顯示在模擬層中;hintbox是jQuery的類似Google Suggestions插件。2010-11-11