页面同时ONLOAD多个函数如何解决呀?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了页面同时ONLOAD多个函数如何解决呀?相关的知识,希望对你有一定的参考价值。
我页面里有两个函数需要同时加载,不过同时ONLOAD的时候只能执行最后一个!请大家帮忙解决啦!
<script type="text/javascript">
var tc;
window.onload=function()
var o=document.getElementById('infozone');hscroll(o);
window.setInterval(function()window.clearTimeout(tc);o.firstChild.style.marginLeft='0px';scrollup(o,20,0);,10000);
function scrollup(o,d,c)
if(d==c)
var t=o.firstChild.cloneNode(true);
o.removeChild(o.firstChild);o.appendChild(t);
t.style.marginTop=o.firstChild.style.marginTop='0px';
hscroll(o);
else
ch=false;var s=3,c=c+s,l=(c>=d?c-d:0);
o.firstChild.style.marginTop=-c+l+'px';
window.setTimeout(function()scrollup(o,d,c-l),50);
function hscroll(o)
var w1=o.firstChild.offsetWidth,w2=o.offsetWidth;
if(w1<=w2)return;
tc=window.setTimeout(function()hs(o,w1-w2,0,w1-w2),35);
function hs(o,d,c,p)
c++;var t=(c>0?-c:c);o.firstChild.style.marginLeft=t+'px';
if(c==d)if(d==0)tc=window.setTimeout(function()hs(o,p,0,p),2500);else tc=window.setTimeout(function()hs(o,0,-p,p),3500);
else tc=window.setTimeout(function()hs(o,d,c,p),5);
var time = 500;
var h = 0;
function addCount()
if(time>0)
time--;
h = h+5;
else
return;
if(h>300) //高度
return;
document.getElementById("ads").style.display = "";
document.getElementById("ads").style.height = h+"px";
setTimeout("addCount()",30);
window.onload = function showAds()
addCount();
setTimeout("noneAds()",30000); //停留时间自己适当调整
</script>
<script type="text/javascript" language="javascript">
var T = 300;
var N = 300; //高度
function noneAds()
if(T>0)
T--;
N = N-5;
else
return;
if(N<0)
document.getElementById("ads").style.display = "none";
return;
document.getElementById("ads").style.height = N+"px";
setTimeout("noneAds()",30);
</script>
两个JS我写到一起了!页面执行是没问题的!就是两个WINDOW.ONLOAD只能执行一个,着实让人头疼!如何改呢?
注:从 var time = 500;
var h = 0;
function addCount()
.....起到结尾
是第二个函数! 页面执行的也就是这个!
程序代码<html>
<body onload="function1();function2();function3();">
</body>
</html>
拓展:
1、最简单的调用方式
直接写到html的body标签里面,如下示例:
程序代码<html>
<body onload="function()">
</body>
</html>
2.在JavaScript语句里调用
程序代码<script>
function f1()...
window.onload=f1;
</script>
3.同时调用多个函数(body方式)
程序代码<html>
<body onload="function1();function2();function3();">
</body>
</html>
4.在JavaScript语句中同时调用多个函数
程序代码<script>
function f1()...
function f2()...
function f3()...
function f4()...
window.onload=function()
f1();
f2();
f3();
f4();
</script>
这种调用方式可以用于不太复杂的JavaScript程序中,如果程序函数很多,逻辑比较复杂,可以考虑用另外一种方式。
5.自定义函数式多次调用
程序代码<script>
function f1()...
function f2()...
function f3()...
function f4()...
//onload事件侦听函数
function addLoadEvent(func)
var oldonload=window.onload;
if(typeof window.onload!="function")window.onload=func;elsewindow.onload=function()oldonload();func();;
//调用方式
addLoadEvent(f1);
addLoadEvent(f2);
addLoadEvent(f3);
addLoadEvent(f4);
</script>
这种方式调用比较方便,逻辑清晰。
但要注意的问题是,不可以同时混合运用两种调用方式,因为onload事件只有一次。 参考技术A 根据问题描述,程序有误,正确是
程序代码<html>
<body onload="function1();function2();function3();">
</body>
</html>
拓展:
1、最简单的调用方式
直接写到html的body标签里面,如下示例:
程序代码<html>
<body onload="function()">
</body>
</html>
2.在JavaScript语句里调用
程序代码<script>
function f1()...
window.onload=f1;
</script>
3.同时调用多个函数(body方式)
程序代码<html>
<body onload="function1();function2();function3();">
</body>
</html>
4.在JavaScript语句中同时调用多个函数
程序代码<script>
function f1()...
function f2()...
function f3()...
function f4()...
window.onload=function()
f1();
f2();
f3();
f4();
</script>
这种调用方式可以用于不太复杂的JavaScript程序中,如果程序函数很多,逻辑比较复杂,可以考虑用另外一种方式。
5.自定义函数式多次调用
程序代码<script>
function f1()...
function f2()...
function f3()...
function f4()...
//onload事件侦听函数
function addLoadEvent(func)
var oldonload=window.onload;
if(typeof window.onload!="function")window.onload=func;elsewindow.onload=function()oldonload();func();;
//调用方式
addLoadEvent(f1);
addLoadEvent(f2);
addLoadEvent(f3);
addLoadEvent(f4);
</script>
这种方式调用比较方便,逻辑清晰。
但要注意的问题是,不可以同时混合运用两种调用方式,因为onload事件只有一次。 参考技术B 不是只能执行一个啊,在body里有个onLoad那个能调用多个。中间用“;”还是“,”分开忘了本回答被提问者和网友采纳
移动端 点击返回按钮页面不刷新
参考技术A 最近在做移动端项目,遇到了点击返回按钮页面不刷新的情况,一些失效的信息还是会显示在页面上。这个问题在iPhone 手机上会出现,在Android手机上返回会自动刷新(由于手机机器种类不多,无法做更多测试,欢迎补充)。为了解决这个问题实验了很多解决办法用计时器呀onload呀都不行,后来找到了一个方法pageshow。
onpageshow 事件在用户浏览网页时触发。
onpageshow 事件类似于 onload 事件,onload 事件在页面第一次加载时触发, onpageshow 事件在每次加载页面时触发,即 onload 事件在页面从浏览器缓存中读取时不触发,此外还有pagehide在不显示的时候触发。
为了查看页面是直接从服务器上载入还是从缓存中读取,可以使用 PageTransitionEvent 对象的 persisted 属性来判断。
处理方法为:
欢迎大家评论点赞哦~~~
喜欢的关注吧
以上是关于页面同时ONLOAD多个函数如何解决呀?的主要内容,如果未能解决你的问题,请参考以下文章