Ⅰ 想用多种方法实现网页加载展示3d模型,想问下除了用Three.js之外还有什么方法可以实现吗
这篇文章主要介绍了页面加载与js函数的执行 onload or ready 需要的朋友可以过来参考下,希望对大家有所帮助 首先,页面加载顺序: 解析HTML结构。 加载外部脚本和样式表文件。 解析并执行脚本代码。 构造HTML DOM模型。 加载图片等外部文件。 页面加载完毕。 也就是: html → head → title → #text(网页标题) → style → 加载样式 → 解析样式 → link → 加载外部样式表文件 → 解析外部样式表 → script → 加载外部脚本文件 → 解析外部脚本文件 → 执行外部脚本 → body → div → script → 加载脚本 → 解析脚本 → 执行脚本 → img → script → 加载脚本 → 解析脚本 → 执行脚本 → 加载外部图像文件 → 页面初始化完毕。 JS 的初始化装载。 onload 不是在 document 加载完成的时候调用的, 而是在页面所有元素 (包括图片等) 全部加载完成才会调用. 如果页面上有尺寸很大的图片, 下载需要很长时间, 那么脚本就一直不能被初始化, 直到图片装载完成, 严重时用户体验会受到很大影响.但是,window.onload 也并非是一无用处,很多情况下一些B/S软件需要页面全部加载后才提供用户相关功能,这样 window.onload 就可以提供一种“加载中”的功能,又或者是页面内容很少,完全无需 document.ready(); 根据各种情况,应该合理的使用 onload 和 ready。 使用onload加载: 代码如下: window.onload=function(){ var currentRenderer = 'javascript'; FusionCharts.setCurrentRenderer(currentRenderer); var chartObj = new FusionCharts({ swfUrl: "Pie3D.swf", width: "290", height: "210", id: 'sampleChart', dataSource: "/ucenter/seo/new_seo_tool.php?check=xml&val={{pre_num}}", dataFormat: FusionChartsDataFormats.XMLURL, renderAt: 'chart1div' }).render(); } ready 在 W3C 中有个叫 DOMContentLoaded 的事件,它会在 DOM (文档对象模型) 被加载完成的时候触发. 方法一: 代码如下: 类似于Jquery的$(function(){...}) $(document).ready(function(){...}) (function () { var ie = !!(window.attachEvent && !window.opera); var wk = /webkit/(d+)/i.test(navigator.userAgent) && (RegExp.$1 < 525); var fn = []; var run = function () { for (var i = 0; i < fn.length; i++) fn[i](); }; var d = document; d.ready = function (f) { if (!ie && !wk && d.addEventListener) return d.addEventListener('DOMContentLoaded', f, false); if (fn.push(f) > 1) return; if (ie) (function () { try { d.documentElement.doScroll('left'); run(); } catch (err) { setTimeout(arguments.callee, 0); } })(); else if (wk) var t = setInterval(function () { if (/^(loadedcomplete)$/.test(d.readyState)) clearInterval(t), run(); }, 0); }; })(); 调用时: document.ready(function(){ alert('ok'); } 方法二: 代码如下: /如果支持 W3C DOM2, 则使用 W3C 方法 if (document.addEventListener){ document.addEventListener("DOMContentLoaded", te, false); } else if (/MSIE/i.test(navigator.userAgent)){/如果是 IE 浏览器(不支持) /创建一个 script 标签, 该标签有 defer 属性, 当 document 加载完毕时才会被载入 document.write(" var script = document.getElementByIdx_x("__ie_onload"); /如果文档确实装载完毕, 调用初始化方法 script.onreadystatechange = function() { if (this.readyState == 'complete') { te(); } } } else if (/WebKit/i.test(navigator.userAgent)) {/如果是 Safari 浏览器(不支持) /创建定时器, 每 0.01 秒检验一次, 如果文档装载完毕则调用初始化方法 var _timer = setInterval( function() { if (/loadedcomplete/.test(document.readyState)) { clearInterval(_timer); te(); } }, 10); } else {/如果以上皆不是, 使用最坏的方法 (本例中, Opera 7 将会跑到这里来) window.onload = function(e) { te(); } } function te(){ alert('ok'); }
Ⅱ 如何在html中调用JS文件
一、JavaScript脚本语言的特性 JavaScript脚本语言是一种面向浏览器的网页脚本编程语言。脚本语言有以下几个特性:1、在客户端执行。完全在用户的计算机上运行,无须经过服务器。2、面向对象。具有内置对象,也可以直接操作浏览器对象。3、动态变化。可以对用户的输入作出反应,也可以直接对用户输出。4、简单易用。JavaScript脚本语言虽然简单,但初学者也能快速掌握。5、只能与HTML语言一起使用。要通过浏览器解释执行。二、如何在HTML中加入JavaScript脚本 JavaScript采用的格式如下:<Script Language="JavaScript">JavaScript 语句 </Script>把上述语句放在HTML的<head>与</head>之间,也可放在<body>与</body>之间。例子:在网页上显示“你好!”。<html><body><Script Language="JavaScript">alert("你好!") </script></body></html>三、在浏览器地址栏直接执行JavaScript脚本也可以在浏览器的地址栏中输入JavaScript语句,由浏览器直接执行。如输入:javascript:alert(200*75)四、调用JavaScript文件 可以将纯JavaScript的语句另外保存在一个"*.js"的文件中,需要时再调用。例子:调用test.js文件,显示提示。 <html><body>调用test.js文件<script language="JavaScript" src="test.js"></script></body></html> test.js的文件内容如下: alert("这是被调用的语句。") 五、注释语句用<!- ... ->表示注解部分,用作说明解释,浏览器不显示出来。不要也可以。另外,双斜线 "//" ,是JavaScript 的注释语句,它后面的语句不被执行。六、变量的使用变量的声明:Var usename变量的赋值:usename="李国强"例子:在网页上显示“李国强你好!”。<html><body><Script Language="JavaScript">Var usenameusename="李国强"alert(usename + "你好!") </script></body></html>七、数组数组的定义:var name=new Array(5) 用 new 来生成数组。数组的赋值:name[1]="Marry"数组的初始化:var name=new Array("Marry","Petty","Mike","Jphn")数组的引用:name[1]注:数组的第一个素由1开始。八、运算符与表达式1、代数运算符:加(+)、减(-)、乘(*)、除(/)、取余(%)。2、比较运算符:等于(==)、不等于(!=)、大于(>)、小于(<)、大于等于(>=)、小于等于(<=)。3、逻辑运算符:逻辑与(&&)、逻辑或(||)、逻辑非(!)。表达式:由变量和运算符组成的式子。如:usename + "你好!"
Ⅲ 在这一个普通的js文件里怎么调用requireJS的define模块里的函数
RequireJS中定义一个模块,总的来说有2种方式:简单键值对和回函数依赖式。
1.简单键值对:一个答模块仅含有值对,没有任何依赖
define({
color: "black",
size: 1,
method1: function() {},
method2: function() {}
});
这种写法虽然简单,但是有很大的局限性,仅仅是定义了该模块的返回值,不能做一些额外的初始化工作。
通过下面下面这种方式来定义模块,灵活性更高,我们可以在函数体内写一些模块初始化的代码
define(function () {
//Do initial work here
return {
method1: function() {},
method2: function() {}
};
});
2.函数依赖式:则第一个参数是依赖的名称数组;第二个参数是回调函数。
在模块的所有依赖加载完毕后,回调函数会被调用来定义该模块。
define(["mole1"], function(moudle1) {
function calc()
{
return moudle1.val;
}
return {"get":calc};
}
);
Ⅳ 怎么用JS让被调用的函数里的参数自动改变
jquery在页面加载的时候自动调用某个函数,有三种方法:第一种: $(document).ready(function(){ func(xxx)//执行函数 }); 第二种: $(function(){ func(xxx)//执行函数 }); 第三种: jQuery(function($) { func(xxx)//执行函数 }); 如果不用jquery,在页面初始化的方法: 1.在body里面写onload 2.在脚本里面写。拓展资料:这个加载数据是JS 控制的 ,ready函数会在页面加载完成后自动执行 加载数据,看看JS代码全部的JS注释掉。拓展资料:或者改成 function query (){。 $.doSerch("","");//自行补充,你代码中的一部分},最后你的查询按钮调用这个function 就行了。 jquery easyui 中window相关:可以在页面加载时 添加 ,最后当点击按钮时 调用 function show(){ 。 $('#div_x).window('open'); }。