1. 程式人生 > >jQuery實現在右下角彈出提示框

jQuery實現在右下角彈出提示框

用jQuery實現這個功能其實非常簡單,網上的例子太多太多了。不過,那些例子一般沒有涉及到後臺往前臺傳值的問題。在本文中這個問題會得到解決。

在實際應用中,提示框都是自動彈出的,因此,jQuery函式需寫在jsp頁面的<html>之外,即在<html>標籤之外寫一個<script>標籤,這樣,在載入jsp頁面的內容之前會先執行這裡面的方法。然後,彈出框其實就是一個div層,滿足條件就顯示這個層,在div中則可以顯示由後臺傳過來的值,進行迭代輸出。

var ids = "${certificate_info_id}";
	//去掉"[]";
	var newIds = ids.substr(1,ids.length-2);
	//通過空格擷取字元
	var arrayIds = newIds.split(" ");
	var len = arrayIds.length;
	//再拼接字元
	var str = "";
	for(var i = 0;i<len;i++){
		str+=arrayIds[i];
	}
	if(str!=""){
		//openRemind(str);
		$(document).ready(function(){
			var mes = $("#kq_prompt");
			mes.slideDown();
			$("#iGetIt").click(function(){
				mes.slideUp();
			});
			
		});
	}
在執行這個彈出框之前,應該先有一個條件判斷,我這裡的需求是,當合同到期的天數為1的時候就自動彈出提示框。

我是先在後臺找到符合條件的id,然後傳到前臺,在前臺再進行一次判斷。

div的程式碼:

<div id="kq_prompt">
		<p id="closeP"><b>過期提醒</b></p>
(……中間輸出內容略過……)
<p style="padding:5px 10px;text-align:center"><span id="iGetIt">我知道了</span></p>
	</div>
中間輸出的內容可以是struts2標籤、jstl、EL表達示等,反正自己習慣怎麼用就怎麼寫。

slideDown()是向上顯示div,slideUp()向下隱藏div,click()就是點選觸發效果。

最後貼上CSS程式碼:

#kq_prompt{
    width:300px;
    height:400px;
    overflow:hidden;
    display:none;
    border:1px solid #bbb;
    position:absolute;
    bottom:0;
    right:0;
    background:#fff;
    font-size:13px;
}
#closeP{
	border-bottom:1px solid #bbb;
	width:100%;
	height:20px;
	cursor:pointer;
	line-height:20px;
	text-align:center;
	color:blue;
}
#iGetIt{
	background:#4985B7;
	cursor:pointer;
	padding:5px 10px;
	color:#fff;
	font-weight:bold;
}
由kq_prompt可以看到,div設定為絕對定位,距離右邊為0,距離下邊為0,這樣就顯示在右下角了。另外,display為none,就是隱藏的,然後使用了jQuery的slideDown()方法後又會自動顯示出來。

最後上一張效果圖:

另外這個效果,在IE瀏覽器下會有點抖動現象,可以在JSP頁面上新增:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

在做這個之前,幾乎沒有用過jQuery,所以在實現之前覺得這個好神奇,但做完之後卻又覺得比較簡單。這應該就是做與不做之間的差別吧。

之前用window.open()實現了這個功能,但是比較醜,比現在的這個更醜。上面的標題欄死活去不了,所以就採用了jQuery來實現。