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

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

問下script放在body里面和放在下面的區別?

如果要是像老師那樣把script放在下面的話,程序順利執行。

但是想把script放在head里面用window.onload的話,程序就報錯說ScrollUp沒有定義,如下面的代碼:

window.onload=function(){
		var?area?=?document.getElementById('moocBox'),
				con1?=?document.getElementById('con1'),
				con2?=?document.getElementById('con2');
			var?time?=?10;
			con2.innerHTML?=?con1.innerHTML;
			var?timer?=?null;
			area.onmouseover=function(){
				timer=setInterval('scrollUp()',time);
			}
			area.onmouseout=function(){
				clearInterval(timer);
			}
			function?scrollUp(){
				if?(area.scrollTop?>=?con1.offsetHeight)?{
					area.scrollTop?=?0;
				}?else?{
					area.scrollTop++;
				}
			}
}

但是如果把scrollUp寫在window.onload外面就可以了,像下面這樣:

window.onload?=?function()?{
	var?area?=?document.getElementById('moocBox'),
		con1?=?document.getElementById('con1'),
		con2?=?document.getElementById('con2');
	var?time?=?10;
	con2.innerHTML?=?con1.innerHTML;
	var?timer?=?null;
	area.onmouseover?=?function()?{
		timer?=?setInterval('scrollUp()',?time);
	}
	area.onmouseout?=?function()?{
		clearInterval(timer);
	}

}

function?scrollUp()?{
	var?area?=?document.getElementById('moocBox'),
		con1?=?document.getElementById('con1'),
		con2?=?document.getElementById('con2');
	if?(area.scrollTop?>=?con1.offsetHeight)?{
		area.scrollTop?=?0;
	}?else?{
		area.scrollTop++;
	}
}

這是為什么?

正在回答

3 回答

onload在真個頁面加載完成之后就會執行,如果將代碼放在body里,在加載頁面時函數已經加載。如果將代碼放到head里,代碼在頁面加載時不會加載,直到整個頁面加載完成之后才執行。此時scrollUp函數在調用處的后面。就會先報錯吧。

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

Betsey 提問者

非常感謝!
2016-02-24 回復 有任何疑惑可以回復我~
#2

Evanpan

為什么按你的代碼敲進去,鼠標移入就開始滾動,鼠標移出就停止呢
2016-04-07 回復 有任何疑惑可以回復我~

我也沒聽懂

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

說的啥意思

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

舉報

0/150
提交
取消
信息滾動效果制作
  • 參與學習       47740    人
  • 解答問題       333    個

萌妹子帶您快速學習滾動效果,掌握無縫滾動和歇間性滾動的制作方法

進入課程

問下script放在body里面和放在下面的區別?

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

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

幫助反饋 APP下載

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

公眾號

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