亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

document.write()輸出問題

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

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>瀏覽器對象</title>

</head onload="timecount()">

<body>

<h2>操作成功</h2>

<input type="button" value="返回" onclick="b_ack()" />

<script type="text/javascript">

var s_econd=5;

function timecount(){

if(s_econd==0){

window.location.assign("http://www.xianlaiwan.cn/");

}

document.write(s_econd+"秒之后返回");

s_econd--;

setTimeout(timecount,1000);

}

function b_ack(){

window.history.back();

}


</script>

</body>

</html>


這里的document.write()為什么不起作用?使用document.write()輸出內容有什么規則或者限制嗎?


正在回答

4 回答

setTimeout(timecount,1000); ?改成 ?setTimeout("timecount()",1000)

你還要在函數外放一個setTimeout("timecount()",1000)

不知道為啥那個onload="timecount()"沒有起作用

0 回復 有任何疑惑可以回復我~
#1

慕粉3163391 提問者

setTimeout()這兩種形式都可以,onload沒起作用因為我不小心放</head>里了,放<body>就行了
2016-04-26 回復 有任何疑惑可以回復我~

<html>

?<head>

? <title>瀏覽器對象</title> ?

? <meta http-equiv="Content-Type" content="text/html; charset=gkb"/> ??

?</head>

?<body>

? <!--先編寫好網頁布局-->

? <p><strong>操作成功</strong></p>

? ?<p><span id="time"></span>秒后回到主頁<a href="http://www.xianlaiwan.cn">返回</a></p>?

? ??

? <script type="text/javascript"> ?

?

? ?//獲取顯示秒數的元素,通過定時器來更改秒數。

? ? setTimeout("myTime()");

? ? var num=5;

? ?// window.open('http://baidu.com');

? ? function myTime(){

? ? ? ? document.getElementById("time").innerHTML=num;

? ? ? ? num=num-1;

? ? ? setTimeout("myTime()",1000);

? ?//通過window的location和history對象來控制網頁的跳轉。

? ? ? ? if(num==0){

? ? ? ? ?window.history.go(0);

? ? ? ? ? //window.location.assign("hppt://www.xianlaiwan.cn/");

? ? ? ? }

? ? }

?</script>?

</body>

</html>


0 回復 有任何疑惑可以回復我~
#1

Uauslman

用innerHTML設置。
2016-04-24 回復 有任何疑惑可以回復我~

你點擊按鈕直接觸發了b_ack()函數,直接就執行了window.history.back();返回歷史上一頁,根本沒有機會執行到document.write();語句

你的代碼整體邏輯存在問題,大致幫你修改下:

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

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>瀏覽器對象</title>

</head onload="timecount()">

<body>

<h2>操作成功</h2>

<input type="button" value="返回" onclick="timeCount()">

<script type="text/javascript">

var second=5;

function timeCount(){

? if(second>0){

? ? document.write(second+"秒之后返回");

? ? second--;

? ? setTimeout(timeCount,1000);

? }else{

? ? back();

? }

}

function back(){

? //5秒結束后要執行的語句

? window.location.assign("http://www.xianlaiwan.cn/");

}

</script>

</body>

</html>


0 回復 有任何疑惑可以回復我~
#1

慕粉3163391 提問者

不是啊,原題要求是“1. 如果打開該頁面后,如果不做任何操作則5秒后自動跳轉到一個新的地址,如慕課網主頁。2. 如果點擊“返回”按鈕則返回前一個頁面” 所以不是點返回按鈕觸發倒計時命令,而是點按鈕跳出倒計時并返回之前的頁面; 還有一個問題是剛執行你的代碼發現他的顯示是“5秒之后返回4秒之后返回3秒之后返回2秒之后返回1秒之后返回”,沒有覆蓋之前的顯示,感覺不懂得真多啊,哈哈
2016-04-23 回復 有任何疑惑可以回復我~

那么我也有個問題,onload函數是隨便放在哪里都可以的嗎?body和head里有什么區別嗎?

0 回復 有任何疑惑可以回復我~
#1

慕粉3163391 提問者

。。。謝謝你提醒了我。。我才發現我一走眼把onload放</head>里去了,換過來就能實現了,不過原先hTMLL里的輸出文本會被document.write<>輸出覆蓋掉,所有返回功能就實現不了了
2016-04-23 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

document.write()輸出問題

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號