//隨鼠標(biāo)移動(dòng)的信息框
function popDiv(face,name,info,xx,yy)
{
var str="";
str+="";
str+="";
str+=""+name+"
";
str+=""+info+"";
str+="";
$('body').append(str);//在頁(yè)面上追加該元素,樣式如上已經(jīng)寫好
$(".TipDiv").css({"top":yy+"px","left":xx+"px"});//設(shè)置該元素出現(xiàn)的位置(這里是出現(xiàn)在鼠標(biāo)的右邊和下邊的偏離10px位置)
}
結(jié)果如下(當(dāng)鼠標(biāo)指向第三條數(shù)據(jù)時(shí),彈出該框, 并隨鼠標(biāo)移動(dòng)):
做到這邊,會(huì)員有了一個(gè)新的要求,就是不要彈出框隨著鼠標(biāo)的移動(dòng)而移動(dòng),那樣鼠標(biāo)一旦離開焦點(diǎn),就會(huì)移除該彈出框,操作起來(lái)不是很方便。他們要求彈出框固定,假設(shè)就在相應(yīng)的數(shù)據(jù)行的右側(cè)吧,而且打開和關(guān)閉由會(huì)員自己控制,于是Ben就進(jìn)行改良了...
同樣的,先設(shè)計(jì)一個(gè)id為tips的Div元素,樣式如下:
代碼如下:
#tips
{
background-color: white;
border-left: 1px solid #a6c9e2;
border-right: 1px solid #a6c9e2;
border-top:5px solid #a6c9e2;
border-bottom:5px solid #a6c9e2;
width:268px; height:60px;
z-index:9;
position:absolute;
-moz-border-radius: 5px; -webkit-border-radius: 5px;
padding:8px 18px;
}
/* 彈出層的指向圖標(biāo),left:-10 使它出現(xiàn)在整個(gè)Div的左側(cè) */
#tips #tipsArrow { position:absolute; top:26px; left: -10px }
#tips #light
{
width:36px;
height:36px;
margin:6px 16px 16px 16px;
float:left;
}
#tips span
{
margin-top:18px;
}
#tips #close
{
width:20px;
height:16px;
border:none;
z-index:1;
left:280px;
top:6px;
position:absolute;
cursor:pointer;
}
腳本如下:
代碼如下:
$(document).ready(function(){
//時(shí)間鼠標(biāo)經(jīng)過(guò)
$("ul li span").mouseover(function(){
$("#tips").remove();
var elem= $(this).parent();
var mTop=elem.offset().top;//獲取該元素的top坐標(biāo)
var mLeft=elem.offset().left;//獲取該元素的left坐標(biāo)
var addLeft=elem.width();//獲取該元素的寬度
var finalTop=mTop-30;//獲取最終元素出現(xiàn)的Top位置,此時(shí)-30個(gè)元素是提高這個(gè)Div的高度,讓箭頭指向?qū)?yīng)行
var finalleft=mLeft+addLeft+20; // 獲取最終元素出現(xiàn)Left的,對(duì)應(yīng)行的左邊加上行寬加上20個(gè)空元素
var num=$("li").index(elem)+1;
popDiv1(finalTop,finalleft,"提示框提醒你,這是第"+num+"行數(shù)據(jù)!");
})
})
//固定的信息框
function popDiv1(tops,lefts,messages)
{
var str="";
str="
"+messages+"
";鼠標(biāo)移動(dòng)到相應(yīng)的數(shù)據(jù)行上面,顯示相應(yīng)的提示框,右邊的打叉小圖標(biāo)用以關(guān)閉整個(gè)彈出層...
設(shè)計(jì)小結(jié):
這個(gè)設(shè)計(jì)過(guò)程的關(guān)鍵是position:absolute(絕對(duì)定位,作用是讓層在頁(yè)面上疊加),z-index(用以顯示層的疊加次序),top、left(顯示彈出頁(yè)面坐標(biāo)),(offset().left,offset().top)在頁(yè)面上找到某個(gè)元素的坐標(biāo),位置找到了,就可以隨意在它的周邊定位彈出層了,其他的樣式可以根據(jù)自己的美工需求隨意調(diào)節(jié)...
源碼下載 http://xiazai.jb51.net/201010/yuanma/popDiv.rar
聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com