練功房推薦書單

  • Google!Android 3手機應用程式設計入門(第四版)
  • 賈伯斯傳(軟皮精裝版)
  • 猛虎出閘制霸版:最新OCP Java SE 6 Programmer專業認證(附原始程式碼及範例檔)
  • SCWCD 5 猛虎出閘:Java Web 應用程式專業認證
網頁開啟的先後順序?  XML
Forum Index » 網頁程式設計 Web Development
Author Message
viva

八級學員
[Avatar]

Joined: 2008-08-21 12:54:06
Messages: 24
Location: 台北
Offline

在JSP裡定義CSS為某個背景,display預設為none......
.black_overlay{
    display: none;

    ......以下省略

}


當網頁開啟時,就將CSS所設定的背景display設為block
<script type="text/javascript">
     window.onload = function() {
          document.getElementById('圖層的名稱').style.display='block';
     }
</script>


但用window.onload會讓網頁內容(圖片、flash...等)載入完才去執行我開啟CSS display的設定!
有什麼方法可以讓網頁開啟時,先讓CSS的背景顯示?
[Email]
viva

八級學員
[Avatar]

Joined: 2008-08-21 12:54:06
Messages: 24
Location: 台北
Offline

<%@ page contentType="text/html; charset=BIG5" %>
<%
	int gERR = 0;

	//判斷是否開啟CSS背景	
	if(true)
	 	gERR = 0;
	else
		gERR = 1;
%>
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=big5">
<title>CSS測試</title>
</head>

<body>
<style type="text/css">
<!--
.black_overlay{   
    display: none;   
  
    ......以下省略   
  
}  
-->
</style>
<script type="text/javascript">   
     window.onload = function() {   
          document.getElementById('fade').style.display='block';   
     }   
</script>
<%
	if( gERR == 0 ) {
%>
	<div id="fade" class="black_overlay"></div>

<%
	} else {
%>
	<!--網頁內容-->
<%
	}
%>
</body>

</html>

This message was edited 1 time. Last update was at 2009-04-03 15:50:12

[Email]
andowson

六段學員
[Avatar]

Joined: 2007-01-02 22:20:40
Messages: 652
Location: 台北
Offline

不曉得我有沒有誤解你的問題,如果是要讓<div id="fade" class="black_overlay"></div>這邊可以顯示出背景圖來,只要加上一個 &nbsp;的值進去即可:
<%@ page contentType="text/html; charset=BIG5" %>
<%
	int gERR = 0;

	//判斷是否開啟CSS背景	
	if(true)
	 	gERR = 0;
	else
		gERR = 1;
%>
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=big5">
<title>CSS測試</title>
</head>

<body>
<style type="text/css">
<!--
.black_overlay{   
    display: none;
    background-image:url(http://www.andowson.com/images/title.gif);
    background-color: #000000;
} 
-->
</style>
<script type="text/javascript">   
     window.onload = function() {   
          document.getElementById('fade').style.display='block';   
     }   
</script>
<%
	if( gERR == 0 ) {
%>
	<div id="fade" class="black_overlay">&nbsp;</div>

<%
	} else {
%>
	<!--網頁內容-->
<%
	}
%>
</body>

</html>

This message was edited 1 time. Last update was at 2011-10-13 23:49:01


分享經驗 累積智慧
[WWW] [MSN]
viva

八級學員
[Avatar]

Joined: 2008-08-21 12:54:06
Messages: 24
Location: 台北
Offline

先謝謝andowson的回應!

背景圖本來就可以顯示,只是在原始程式裡,背景圖與JSP的顯示內容卻不是同步
而是JSP網頁內容先出現隨後才出現背景圖,所以我才改為以下程式碼
<script type="text/javascript">     
     window.onload = function() {     
          document.getElementById('fade').style.display='block';     
     }     
</script>
<%   
    if( gERR == 0 ) {   
%>   
    <div id="fade" class="black_overlay"></div>   
  
<%   
    } else {   
%>   
    <!--網頁內容-->   
<%   
    }   
%>

其實window.onload也可以拿掉了,多餘的!
把CSS圖層直接設為block就好,隨後直接進入 if 的判斷去選擇顯示哪一部份
這樣就不會有顯示順序的問題了! 也比較簡單!
[Email]
 
Forum Index » 網頁程式設計 Web Development
Go to: