前段時間表白網頁很有趣,就嘗試看看影片寫了程式碼,但是為什麼背景自動更換這個script沒有執行呢?求教各位了## 兩個script只有一個實現了
##<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="Keywords" content="">
<meta name="Description" content="">
<title>你是我的最爱--000</title>
<style type="text/css">
*{margin:0;padding:0;}
#bg_body{
background:url(image/1.jpg) no-repeat center #eee;
background-size:cover;
/* background-attachment:fixed;
height:1000px; */
}
/*start top*/
.top{width:400px;height:100px;margin:60px auto;font-size:30px;font-family:"华文行楷";color:#fff;}
/*end top*/
/*start box*/
.box{width:310px;height:310px;margin:auto;perspective:800px;}
.box .pic{position:relative;transform-style:preserve-3d;animation:play 10s linear infinite;}/*匀速 无线运行*/
.box ul li{list-style:none;position:absolute;top:0;left:0;}
/*end box*/
#text{width:980px;height:130px;color:#0099ff;margin:auto;font-size:30px;font-family:"华文行楷";}
/*定义一个关键帧*/
@keyframes play{
from{transform:rotateY(0deg);}
to{transform:rotateY(360deg);}
}
</style>
<script type="text/javascript">
window.onload=function typing (){
var oBody=document.getElementById('bg_body');
var oS=oBody.style;
function BgChenge(){
oS.backgroundImage='url(image/'+(parseInt(Math.random() * 6) + 1)+'.jpg)';
};
function BgPosition(){
oS.backgroundRepeat='no-repeat';
oS.backgroundPosition='center';
oS.backgroundAttachment='fixed';
};
function LoadMethod(){
BgChenge();
BgPosition()
};
setInterval(LoadMethod,1000);
};
</script>
</head>
<body id="bg_body">
<!--start top-->
<p class="top">
<marquee behavior=alternate>时光不老 我们不散</marquee>
</p>
<!--end top-->
<!--start box-->
<p class="box">
<p class="pic">
<ul>
<li><img src="image/1.png"height=""width=""alt=""/></li>
<li><img src="image/2.png"height=""width=""alt=""/></li>
<li><img src="image/3.png"height=""width=""alt=""/></li>
<li><img src="image/4.png"height=""width=""alt=""/></li>
<li><img src="image/5.png"height=""width=""alt=""/></li>
<li><img src="image/6.png"height=""width=""alt=""/></li>
</ul>
</p>
</p>
<!--end box-->
<!--star text-->
<p id="text"></p>
<!--end text-->
<embed src="music/告白气球 - 周杰伦.mp3" Volume="30" width="0" height="0"></embed>
<script src="js/jquery.min.js"></script>
<script src="js/jquery.min.js"></script>
<script src="js/jquery.snow.min.js"></script>
<script>
//拿到每一个li
$(".pic ul li").each(function(i){
var deg = 360/$(".pic ul li").size();
//当前li对象
$(this).css({"transform":"rotateY("+deg*i+"deg)translateZ(216px)"});
$.fn.snow({
minSize:10,maxSize:15,newOn:500,flakeColo:"#ffffff"
});
});
var i = 0;
var str ="能够遇见你是我最大的幸运,有了你生活变得丰富多彩,有了你,世界变得如此迷人,你是我的世界,我的世界是你,对我来说,不是在最美好的时光遇见了你,而是遇见你以后都是最美好的时光!"
window.onload = function typing(){
//js 获取p
var myp = document.getElementById("text");
myp.innerHTML += str.charAt(i);
i++;
var id = setTimeout(typing,100);
if(i==str.length){
clearTimeout(id);
}
}
</script>
</body>
</html>
typecho2017-06-08 11:04:49
使用 window.addEventListener('load',function(){})
替換 window.onload = function(){}
關鍵字:DOM0級事件
與
怪我咯2017-06-08 11:04:49
在js中window.onload事件是唯一的,無論你寫多少個都只執行一個,而且是最後一個,所以你可以考慮用jq中的$(function(){}),它不會因為出現的的順序而改變瀏覽器渲染,同時瀏覽器會依照$(function(){})的多寡來進行渲染。
学习ing2017-06-08 11:04:49
window.onload事件只能執行一次,再則你已經引用了jquery.min.js,可以嘗試改成$(function(){}),可以多次引用。