Ⅰ 想用多種方法實現網頁載入展示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'); }。