亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

JS控制彈出懸浮窗口(一覽畫面)的實(shí)例代碼

 更新時(shí)間:2016年05月30日 09:49:03   作者:山中小溪  
這篇文章主要介紹了JS控制彈出懸浮窗口(一覽畫面)的實(shí)例代碼的相關(guān)資料,非常不錯(cuò)具有參考借鑒價(jià)值,需要的朋友可以參考下

在web項(xiàng)目開發(fā)中經(jīng)常遇到在一覽畫面中用戶需要查看某一條記錄的詳細(xì)信息。如果用遷移畫面的方式處理,速度會(huì)比較慢,而且用戶體驗(yàn)不是太好。如果采用點(diǎn)擊該條記錄的詳細(xì)鏈接時(shí)彈出一個(gè)層顯示在當(dāng)前畫面的話,處理速度很快,而且用戶感覺也比較新穎。下面我以某個(gè)對(duì)日電子商務(wù)網(wǎng)站為實(shí)例說明下它的實(shí)現(xiàn)方式。

1、jsp頁面上彈出層的代碼

<!-- 物流詳情彈出頁面 start --> 
<s:iterator value="lrVo" var="lrVo" id="lrVo" status="st"> 
<div class="logisticscenter_xq" style="display: none;" id='<s:property value="#lrVo.logisticNO"/>'> 
<dl> 
<dt><strong><s:text name="struts.webui.logistics.label.logisticsDetails"/>:</strong></dt> 
<dd><strong class="close_wind">X</strong></dd> 
</dl> 
<div class="information logistics_win"> 
<table width="" border="0" cellspacing="0" cellpadding="0"> 
<tr> 
<td class="r_text"><span class="icon9">*</span><s:text name="struts.webui.logistics.label.logisticsNumber"/>:</td> 
<td></td> 
<td colspan="3" id="logisticNo"><s:property value="#lrVo.logisticNO"/></td> 
</tr> 
<tr> 
<td valign="top" class="r_text"><span class="icon9">*</span><s:text name="struts.webui.logistics.label.distribution"/>:</td> 
<td></td> 
<td colspan="3" style="text-align:left" id="content"><s:property value="#lrVo.content" escape="false"/></td> 
</tr> 
</table> 
</div> 
</div> 
</s:iterator> 
<!--物流詳情彈出窗口 end--> 

層樣式代碼:

.logisticscenter_xq{ 
position: absolute; 
width:710px; 
border:solid 2px #787878; 
background: #edfcfe; 
z-index: 2; 
} 

我的處理時(shí)將彈出層放置到整個(gè)網(wǎng)站頁面的layout.jsp,網(wǎng)站中所有頁面的布局都繼承它。該網(wǎng)站采用tiles框架統(tǒng)一對(duì)頁面布局。

2、計(jì)算對(duì)象居中要設(shè)置的left值和top值

我把這一步要完成的功能寫成一個(gè)js文件,主要是根據(jù)用戶在一覽頁面上鼠標(biāo)點(diǎn)擊的坐標(biāo)位置,動(dòng)態(tài)地顯示該條記錄的層窗口。主要代碼如下:

// 計(jì)算對(duì)象居中需要設(shè)置的left和top值 
// 參數(shù): 
// _w - 對(duì)象的寬度 
// _h - 對(duì)象的高度 
function getLT(_w,_h) 
{ 
var de = document.documentElement; 
// 獲取當(dāng)前瀏覽器窗口的寬度和高度 
// 兼容寫法,可兼容ie,ff 
var w = self.innerWidth || (de&&de.clientWidth) || document.body.clientWidth; 
var h = (de&&de.clientHeight) || document.body.clientHeight; 
// 獲取當(dāng)前滾動(dòng)條的位置 
// 兼容寫法,可兼容ie,ff 
var st= (de&&de.scrollTop) || document.body.scrollTop; 
var topp=0; 
if(h>_h) 
topp=(st+(h - _h)/2); 
else 
topp=st; 
var leftp = 0; 
if(w>_w) 
leftp = ((w - _w)/2); 
// 左側(cè)距,頂部距 
return [leftp,topp]; 
} 
//獲取鼠標(biāo)位置GetPostion 
function GetPostion(e) { 
var x = getX(e); 
var y = getY(e); 
} 
function getX(e) { 
e = e || window.event; 
return e.pageX || e.clientX + document.body.scrollLeft - document.body.clientLeft 
} 
function getY(e) { 
e = e|| window.event; 
return e.pageY || e.clientY + document.body.scrollTop - document.body.clientTop 
} 
//判斷瀏覽器類型 
function getOs() 
{ 
var OsObject = ""; 
if(navigator.userAgent.indexOf("MSIE")>0) { 
return "MSIE"; 
} 
if(isFirefox=navigator.userAgent.indexOf("Firefox")>0){ 
return "Firefox"; 
} 
if(isSafari=navigator.userAgent.indexOf("Safari")>0) { 
return "Safari"; 
} 
if(isCamino=navigator.userAgent.indexOf("Camino")>0){ 
return "Camino"; 
} 
if(isMozilla=navigator.userAgent.indexOf("Gecko/")>0){ 
return "Gecko"; 
} 
} 

將該js包含到主調(diào)用的一覽jsp文件中。

<script language="javascript" type="text/javascript" src="<s:url value="/js/aligncenter.js"/>"></script> 

3、一覽jsp中的調(diào)用方法

<a class="view_button" onclick="viewLogistics(event,'<s:property value="#lrVo.logisticNO"/>')" href="####"><s:text name="struts.webui.logistics.label.view"/></a> 

用戶點(diǎn)擊該行記錄的詳情鏈接時(shí)調(diào)用顯示層的方法,同時(shí)將該記錄的id值傳給調(diào)用方法。其實(shí),每一個(gè)層就是用這條記錄的一個(gè)id屬性值進(jìn)行區(qū)分的。

function viewLogistics(event,logisticNO){ 
var os = getOs(); 
var y = getY(event); 
if(os=='MSIE'){ 
y=window.event.y+405; 
} 
$(".logisticscenter_xq").hide(); 
$("#"+logisticNO).show(); 
$("#"+logisticNO).css("top",y+15); 
} 

至于方法中event參數(shù)的作用,還不是太清楚,這點(diǎn)需要再調(diào)查一下。最終效果如下圖,隨著鼠標(biāo)下移,層能夠動(dòng)態(tài)的移動(dòng)。

以上所述是小編給大家介紹的JS控制彈出懸浮窗口(一覽畫面)的實(shí)例代碼,希望對(duì)大家有所幫助,如果大家想了解更多資訊請(qǐng)關(guān)注腳本之家網(wǎng)站!

相關(guān)文章

  • js 自定義的聯(lián)動(dòng)下拉框

    js 自定義的聯(lián)動(dòng)下拉框

    一直都嫌下拉框這個(gè)html控件難看,之前弄了個(gè)<div><ul><li></li></ul></div>版的下拉框.
    2010-02-02
  • JavaScript數(shù)據(jù)結(jié)構(gòu)之二叉樹的刪除算法示例

    JavaScript數(shù)據(jù)結(jié)構(gòu)之二叉樹的刪除算法示例

    這篇文章主要介紹了JavaScript數(shù)據(jù)結(jié)構(gòu)之二叉樹的刪除算法,簡單分析了javascript刪除數(shù)據(jù)結(jié)構(gòu)中二叉樹節(jié)點(diǎn)時(shí)所遇到的各種情況與相關(guān)的處理原理與算法實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2017-04-04
  • 淺談Javascript數(shù)組的使用

    淺談Javascript數(shù)組的使用

    這篇文章主要介紹了淺談Javascript數(shù)組的使用的相關(guān)資料,包括數(shù)組的大小,數(shù)組的遍歷以及數(shù)組的一些方法,非常細(xì)致,需要的朋友可以參考下
    2015-07-07
  • 微信小程序之判斷頁面滾動(dòng)方向的示例代碼

    微信小程序之判斷頁面滾動(dòng)方向的示例代碼

    這篇文章主要介紹了微信小程序之判斷頁面滾動(dòng)方向的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-08-08
  • JavaScript工具庫MyTools詳解

    JavaScript工具庫MyTools詳解

    這篇文章主要為大家詳細(xì)介紹了JavaScript工具庫MyTools的相關(guān)資料,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-01-01
  • javascript使用alert實(shí)現(xiàn)一個(gè)精美的彈窗

    javascript使用alert實(shí)現(xiàn)一個(gè)精美的彈窗

    其實(shí)最初使用alert還是一個(gè)常態(tài),包括現(xiàn)在很多B端平臺(tái)還在直接使用alert,本文主要介紹了javascript使用alert實(shí)現(xiàn)一個(gè)精美的彈窗,感興趣的可以了解一下
    2023-02-02
  • typescript路徑別名問題詳解與前世今生的故事

    typescript路徑別名問題詳解與前世今生的故事

    我們都知道只有正確引用路徑,Typescript才不會(huì)提示報(bào)錯(cuò),這篇文章主要給大家介紹了關(guān)于typescript路徑別名問題詳解與前世今生的故事,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-07-07
  • JavaScript中創(chuàng)建對(duì)象和繼承示例解讀

    JavaScript中創(chuàng)建對(duì)象和繼承示例解讀

    這篇文章主要介紹了JavaScript中怎樣創(chuàng)建對(duì)象和繼承,需要的朋友可以參考下
    2014-02-02
  • Popup彈出框添加數(shù)據(jù)實(shí)現(xiàn)方法

    Popup彈出框添加數(shù)據(jù)實(shí)現(xiàn)方法

    這篇文章主要為大家詳細(xì)介紹了Popup彈出框添加數(shù)據(jù)的簡單實(shí)現(xiàn)方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • javascript 跳轉(zhuǎn)代碼集合

    javascript 跳轉(zhuǎn)代碼集合

    網(wǎng)頁頁面客戶端腳本跳轉(zhuǎn)實(shí)現(xiàn)代碼。一般后臺(tái)語言多需要輸出一些js跟前臺(tái)的結(jié)合。
    2009-12-12

最新評(píng)論