練功房推薦書單

  • 猛虎出柙雙劍合璧版--最新 OCA / OCP Java SE 7 Programmer 專業認證 (電子書)
  • 流浪教師存零股存到3000萬(全新增修版)(書+DVD)
  • 開始在關西自助旅行(京都‧大阪‧神戶‧奈良)(全新增訂版)
  • 不敗教主的300張股票存股術

網頁開啟的先後順序? RSS feed
討論區首頁 » 網頁程式設計 Web Development
發表人 內容
viva

八級學員
[Avatar]

註冊時間: 2008/8/21
文章: 24
來自: 台北
離線
在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]

註冊時間: 2008/8/21
文章: 24
來自: 台北
離線
<%@ 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>
[Email]
andowson

七段學員
[Avatar]

註冊時間: 2007/1/2
文章: 710
來自: 台北
上線
不曉得我有沒有誤解你的問題,如果是要讓<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>

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

八級學員
[Avatar]

註冊時間: 2008/8/21
文章: 24
來自: 台北
離線
先謝謝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]
 
討論區首頁 » 網頁程式設計 Web Development
前往:   
行動版