欧美三区四区_av先锋影音资源站_亚洲第一论坛sis_影音先锋2020色资源网_亚洲精品社区_在线免费观看av网站_国产一区二区伦理_亚洲欧美视频一区二区_99视频精品全部免费在线_精精国产xxxx视频在线

Ajax標簽導航實例詳解-Javascript技巧篇_AJAX教程

編輯Tag賺U幣
教程Tag:暫無Tag,歡迎添加,賺取U幣!

推薦:實例解析Ajax標簽導航-DOM技巧篇
DOM技巧篇(DOM基礎知識) 講到這里,我們就要了解一下DOM的一些基礎知識了。 DOM(Document Object Model 文檔對象模型)是HTML和XML的應用程序接口(API)。DOM將把整個頁面規劃成有節點層級構成的文檔。HTML或XML頁面的每一個部分都是一個節點的衍生物。

Javascript技巧篇(arguments對象的運用技巧)

好了,我們現在已經把CSS樣式寫好了,現在就開始用腳本來控制了。通過剛才講解標簽樣式的時候,其實我們也基本把腳本控制的邏輯流程分析了下:

  1. 選中當前標簽的背景要區別顯示;
  2. 選中標簽和其前一個標簽的分隔線要隱藏;

不過在改變標簽樣式這個步驟開始之前我們要給我們的標簽菜單(ul)來設置onclick事件(功能函數),從而觸發改變當前選中項的樣式的事件。到我們的主題了,呵呵!快來看看代碼吧:

/* ===========================================================
* 函數名稱:tabsEvent()
* 參數說明:要設置事件的DOM節點ID
* 函數功能:為導航TAB菜單(li)設置onclick處理方法(函數),
* 屏蔽掉a標簽默認的處理(打開新鏈接)事件
* 返 回 值:false - 屏蔽掉a標簽默認的處理(打開新鏈接)事件
* 使用方法:tabsEvent("news","sports");
============================================================ */
function tabsEvent(){
for(var i=0;i<arguments.length;i++){
var tabs = (arguments[i]);
// DOM節點(tabs)不存在或者瀏覽器不支持getElementsByTagName()方法
// 函數不執行
if(!tabs || !document.getElementsByTagName) return false;

var theList = tabs.getElementsByTagName("li"); // 搜尋導航標簽(ID為tabs)里的所有li標簽
var theLink = tabs.getElementsByTagName("a"); // 搜尋導航標簽(ID為tabs)里的所有a標簽

for(var j=0;j<theList.length;j++){
var theTab = theList[j];
if(theTab.parentNode!=tabs) continue;

var theA = theLink[j];
// 屏蔽掉a標簽默認的處理(打開新鏈接)事件
theA.onclick = function(){
return false;
}

// 為導航TAB菜單(li)設置onclick處理方法(函數)
theTab.onclick = function(){
var theClass = this.className;
if(theClass!="current" && theClass!="first"){
var objId = this.getAttribute("id").split("-")[1]; // 當前選中標簽(li)在菜單(ul)中的索引值
var tarObj = this.getAttribute("id").split("-")[0]; // 要顯示信息的目標DOM節點ID值
var theURL = tarObj + "/" + tarObj + objId + ".htm"; // 要異步加載的URL地址
ajaxInject((tarObj),objId,tarObj,theURL);
return false;
}
}
}
}
}

上面這段腳本,我們使用了(i)函數獲取DOM節點,方法就是("DOMId"),這里就不多說了。這里要花些時間講的是arguments對象,恩,...,恩,開始講arguments對象了,注意聽講(不是在賣弄哦,這個我們經常要用到的,也很重要的一個知識點):

Arguments是進行函數調用時,除了指定的參數外,還另外創建的一個隱藏對象。Arguments是一個類似數組但不是數組的對象,說它類似數組是因為其具有數組一樣的訪問性質及方式,可以由arguments[n]來訪問對應的單個參數的值,并擁有數組長度屬性length。還有就是arguments對象存儲的是實際傳遞給函數的參數,而不局限于函數聲明所定義的參數列表,而且不能顯式創建 arguments 對象。arguments 對象只有函數開始時才可用。

”隱藏對象“,怎么個隱藏法呢?看看我們函數的寫法吧:

function tabsEvent(){
...
}

而我在調用這個函數是確是這么寫的:

<script language="javascript" type="text/javascript">
<!--
tabsEvent("news","sports");
//-->
</script>

“tabsEvent("news","sports");”, 我使用了參數,而我定義tabsEvent時,卻沒有使用形參(形參個數為零),就是這么個隱藏法。

它像數組,而又不是數組,怎么解釋了?還是看個說明arguments不是數組(Array類)的代碼:


Array.prototype.selfvalue = 1;
alert(new Array().selfvalue);

function testAguments(){
alert(arguments.selfvalue);
}

 

運行代碼你會發現第一個alert顯示1,這表示數組對象擁有selfvalue屬性,值為1。而當你調用函數testAguments時,你會發現顯示的是“undefined”,說明了selfvalue不是arguments的屬性,即arguments并不是一個數組對象。

呵呵,又說了這么多,要將就講徹底些:caller、callee、apply、call都講講吧,^-^!

caller - 返回一個對函數的引用,該函數調用了當前函數。

對于函數來說,caller 屬性只有在函數執行時才有定義。如果函數是由頂層調用的,那么 caller 包含的就是 null 。如果在字符串上下文中使用 caller 屬性,那么結果和 functionName.toString 一樣,也就是說,顯示的是函數的反編譯文本。 下面的例子說明了 caller 屬性的用法:

 

function callerDemo() {
if (callerDemo.caller) {
var a = callerDemo.caller.toString();
alert(a);
}
else {
alert("this is a top function");
}
}

function handleCaller() {
callerDemo();
}

handleCaller();
callerDemo();

我們通過handleCaller();調用執行callerDemo();時callerDemo.caller才定義,可以看到一個警告框,顯示的反編譯的handleCaller()的文本。而直接使用callerDemo();時,我們callerDemo函數的caller是沒有定義的,所以你會看到”this is a top function“提示字符。

callee - 返回正被執行的 Function 對象,也就是所指定的 Function 對象的正文。 用法[function.]arguments.callee,可選項 function 參數是當前正在執行的 Function 對象的名稱。

callee 屬性是 arguments 對象的一個成員,它表示對函數對象本身的引用,這有利于匿名函數的遞歸或者保證函數的封裝性,例如下邊示例的遞歸計算1到n的自然數之和。而該屬性僅當相關函數正在執行時才可用。還有需要注意的是callee擁有length屬性,這個屬性有時候用于驗證還是比較好的。arguments.length是實參長度,arguments.callee.length是形參長度,由此可以判斷調用時形參長度是否和實參長度一致。

 

//callee可以打印其本身
function calleeDemo() {
alert(arguments.callee);
}

//用于驗證參數
function calleeLengthDemo(arg1, arg2) {
if (arguments.length==arguments.callee.length) {
alert("驗證形參和實參長度一致!");
return;
}
else {
alert("實參長度:" +arguments.length);
alert("形參長度: " +arguments.callee.length);
}
}

//遞歸計算
var sum = function(n){
if (n <= 0) {
return 1;
}
else{
return n + arguments.callee(n - 1);
}
}

 

調用alert(sum(9));時,其中函數內部包含了對sum自身的引用,函數名僅僅是一個變量名,在函數內部調用sum即相當于調用一個全局變量,不能很好的體現出是調用自身,這時使用callee會是一個比較好的方法。

apply 和 call 它們的作用都是將函數綁定到另外一個對象上去運行,兩者僅在定義參數方式時有所區別:

 

apply(thisArg,argArray);

call(thisArg[,arg1,arg2…] ]);

即所有函數內部的this指針都會被賦值為thisArg,這可實現將函數作為另外一個對象的方法運行的目的

apply的說明:如果 argArray 不是一個有效的數組或者不是 arguments 對象,那么將導致一個 TypeError。如果沒有提供 argArray 和 thisArg 任何一個參數,那么 Global 對象將被用作 thisArg,并且無法被傳遞任何參數。

call的說明:call 方法可將一個函數的對象上下文從初始的上下文改變為由 thisArg 指定的新對象。 如果沒有提供 thisArg 參數,那么 Global 對象被用作 thisArg。

應用call和apply還有一個技巧在里面,就是用call和apply應用另一個函數(類)以后,當前的函數(類)就具備了另一個函數(類)的方法或者是屬性,這也可以稱之為“繼承”。看下面示例:

 

// 繼承的演示
function base() {
this.member = "dnnsun_Member";
this.method = function() {
alert(this.member);
}
}

function extend() {
base.call(this);
alert(member);
alert(this.method);
}

上面的例子可以看出,通過call之后,extend可以繼承到base的方法和屬性。

呵呵,你可能發現了,在javascript框架prototype里就使用apply來創建一個定義類的模式,其實現代碼如下:

var Class = {
create: function() {
return function() {
this.initialize.apply(this, arguments);
}
}
}

從代碼看,該對象僅包含一個方法:Create,其返回一個函數,即類。但這也同時是類的構造函數,其中調用initialize,而這個方法是在類創建時定義的初始化函數。通過如此途徑,就可以實現prototype中的類創建模式,示例代碼:

 

var vehicle=Class.create();

vehicle.prototype={
initialize:function(type){
this.type=type;
}

showSelf:function(){
alert("this vehicle is "+ this.type);
}
}

var moto=new vehicle("Moto");
moto.showSelf();

呵呵,越扯越多了,現在清楚了arguments對象的用法了吧!哈哈,還是有些收獲的吧?^-^!!! 不過該回到我們的主題了,怎么實現點擊標簽(li)觸發更改樣式的事件。還是接著看我們的ajaxtab.js的代碼吧:

for(var i=0;i<arguments.length;i++){
var tabs = (arguments[i]);
}

看看上面講的arguments的用法,呵呵,這里我們就獲取了全部的標簽導航菜單了。arguments.length = ?等于2,arguments[i]是什么,就是我們傳的參數本身(tabsEvent("news","sports");),那么(arguments[i])就是我們的標簽菜單,具體點就是("news")和("sports")了

 

分享:如何深入理解JavaScript中的函數
概述 函數是進行模塊化程序設計的基礎,編寫復雜的Ajax應用程序,必須對函數有更深入的了解。JavaScript中的函數不同于其他的語言,每個函數都是作為一個對象被維護和運行的。通過函數對象的性質,可以很方便的將一個函數賦值給一個變量或者將函數作為參數傳

來源:模板無憂//所屬分類:AJAX教程/更新時間:2010-03-10
相關AJAX教程
国产67194| 精品国产二区在线| 国产一级做a爰片久久| 中文字幕乱码中文字幕| 亚洲精品二区三区| 亚洲国产成人tv| 国产99久久久欧美黑人| 男操女免费网站| 国产精品视频第一页| 激情五月婷婷六月| 三级黄色片在线观看| 国产精品巨作av| 亚洲不卡在线| 91蜜桃婷婷狠狠久久综合9色| 中文字幕亚洲专区| 成人免费在线网| 自拍偷拍色综合| 激情久久综合| 欧美午夜精品免费| 国产精品一区二区三区精品| 国产激情av在线| 精品久久对白| 椎名由奈av一区二区三区| 91福利视频网| 亚洲成人av免费观看| 日韩欧美看国产| 高清不卡一区二区| 日韩网站免费观看高清| 久久精品.com| 成人无码一区二区三区| 久久国产夜色精品鲁鲁99| 亚洲精品美女免费| 99er在线视频| 99精品人妻无码专区在线视频区| 久久久久.com| 亚洲第一免费播放区| 亚洲自拍偷拍一区二区三区| 69xxxx国产| 一本一道久久综合狠狠老精东影业| 欧美人与性动xxxx| 青青草成人激情在线| 自拍偷拍欧美亚洲| 亚洲狠狠婷婷| 精品播放一区二区| 欧美日韩中文字幕在线播放| 97人妻精品一区二区三区视频| 日韩高清在线一区| 亚洲男人天堂2019| 青青草成人免费在线视频| 精品人妻一区二区三区浪潮在线| 九九视频精品免费| 最近2019免费中文字幕视频三| 欧美 日韩 国产 高清| 亚洲爱爱综合网| 粉嫩在线一区二区三区视频| 欧美精品一区二区三区国产精品| 国产精品自在自线| 在线视频成人| 中文字幕佐山爱一区二区免费| 国产成人精品综合久久久| 亚洲精品理论片| 台湾色综合娱乐中文网| 欧美丝袜美女中出在线| 久久久一本精品99久久精品66| 国产精品成人久久| 亚洲精品免费观看| 日韩h在线观看| 男人天堂999| 欧洲成人一区| 1区2区3区精品视频| 亚洲tv在线观看| 久久久久亚洲av片无码下载蜜桃| 悠悠资源网久久精品| 亚洲精品国产综合区久久久久久久 | 91久久人澡人人添人人爽欧美 | 亚洲国产精品综合久久久| 在线播放一区二区三区| 色爽爽爽爽爽爽爽爽| www国产在线| 99久久伊人久久99| 日本久久91av| 日韩av网站在线播放| 欧美黄色大片网站| 亚洲国模精品一区| 我看黄色一级片| 日韩精品一区二区三区免费视频| 亚洲一级二级三级在线免费观看| 国产在线一区二区三区欧美| 无码人妻丰满熟妇奶水区码| 精品在线亚洲视频| 欧美一级一区二区| 欧美一区二区免费视频| 亚洲小说欧美另类激情| 精品国产av一区二区| 成人性生交大片免费看中文网站| 国语自产精品视频在线看抢先版图片| 朝桐光av一区二区三区| 日韩电影免费在线观看| 欧美一区二区三区四区高清| 欧美丝袜第一区| 九九九九精品九九九九| 波多野结衣不卡| 国产剧情一区在线| 午夜久久福利影院| 国产精品毛片a∨一区二区三区| 国产精品成人播放| 久久久久亚洲AV| 青椒成人免费视频| 欧美激情视频在线| 五月天精品在线| 99国产精品私拍| 久久精品国产亚洲| 五月婷婷综合在线观看| 91超碰成人| 亚洲日本中文字幕| 日本中文字幕精品| 欧美a级片视频| 精品无码久久久久久国产| 999久久久精品视频| 国产精选一区| 亚洲精品理论电影| 亚洲一二区在线观看| 精品在线99| 日韩精品中文字幕一区二区三区| 亚洲激情在线观看视频| 亚洲第一福利社区| 欧美成人a视频| 91n.com在线观看| 日韩福利视频一区| 日韩精品一区国产麻豆| 免费av不卡在线| 郴州新闻综合频道在线直播| 日韩精品中文字| 色综合久久五月| 国内久久视频| 美女啪啪无遮挡免费久久网站| 日韩一区二区a片免费观看| 日韩亚洲国产欧美| 欧美激情喷水视频| 久久久久久久久久久久久久久久久| 精品伊人久久久久7777人| 日本中文一区二区三区| 亚洲国产女人aaa毛片在线| 韩国三级丰满少妇高潮| 性欧美欧美巨大69| 久久精品99无色码中文字幕| 国产一二三av| 久久国产精品色| 国产精品看片资源| 中文字幕免费视频观看| 国产欧美日韩在线看| 欧美一区二区三区四区夜夜大片| 午夜一区在线观看| 欧美日韩国产色| 欧美变态另类刺激| 视频小说一区二区| 亚洲欧美在线x视频| 少妇精品一区二区三区| 麻豆久久精品| 国产99久久精品一区二区| 黄色av一级片| 国产欧美精品在线观看| 亚洲人久久久| 欧美电影院免费观看| 日韩精品最新网址| 日本黄色动态图| 校园激情久久| 国产精品久久久久免费a∨大胸 | 日韩精品久久一区二区| 美女一区二区在线观看| 精品夜色国产国偷在线| 四虎国产精品成人免费入口| 久久国产精品第一页| 91免费看片网站| 人妻丰满熟妇av无码区hd| 欧美日韩综合视频| 污污动漫在线观看| 欧美一区不卡| 97精品免费视频| 波多野结衣小视频| 亚洲欧美日韩电影| 五月丁香综合缴情六月小说| 成人免费看片39| 欧美裸体xxxx极品少妇| 国产成人在线视频观看| 国产精品久久久久久久久久免费看| 亚洲啊啊啊啊啊| 国产精品一区二区99| 久久成人亚洲精品| 一级片中文字幕| 国产精品久久久久久久蜜臀| 日韩美女视频19| 国产福利一区二区三区在线观看| www.com.cn成人| 欧美一区二区女人| 一区二区黄色片| 国产盗摄精品一区二区三区在线| 久久99欧美| 北岛玲精品视频在线观看| 亚洲第一视频网站| 日韩欧美视频免费观看| 成人午夜大片免费观看| 午夜视频久久久| 精品欧美午夜寂寞影院| 色阁综合伊人av| 国产精品xxxx喷水欧美| 国产精品的网站| 97国产精东麻豆人妻电影| 香蕉精品视频在线观看| 欧美一区第一页| 精品国产18久久久久久| 欧美性色aⅴ视频一区日韩精品| 真实乱偷全部视频| 久久精品国产精品亚洲红杏| 麻豆蜜桃91| 国产精品巨作av| 久久伊人色综合| 最近中文字幕免费观看| 欧美天堂在线观看| 久久久久无码国产精品一区李宗瑞| 秋霞电影一区二区| 九九九热999| 99re8这里有精品热视频免费| 一本一本久久a久久精品综合小说| 日韩av一二三区| 一区二区视频免费在线观看| 亚洲综合欧美激情| 日本不卡一区二区| 欧美日韩一区二区三区在线视频 | 91精品国产自产91精品| jizz中国少妇| 4438x亚洲最大成人网| 亚洲精品一区二区三区影院忠贞| 93久久精品日日躁夜夜躁欧美| 久久久久久久久网| 欧美1级日本1级| 91在线观看免费观看 | 欧美调教在线| 午夜精品一区二区三区在线视频 | 精品国产青草久久久久96| 色婷婷综合久久久中文一区二区| av黄色一级片| 99精品国产一区二区三区不卡| 国产一线二线三线女| 激情欧美日韩| 国产一级精品aaaaa看| 精品亚洲自拍| 欧美中文字幕精品| 黄色亚洲网站| 亚洲一级片在线看| 美女黄页在线观看| 在线播放中文一区| 欧美日韩在线视频免费| 一区二区三区免费网站| 一级全黄裸体片| 北岛玲一区二区三区四区| 成年人视频观看| 视频精品一区二区| 一区二区三区的久久的视频| 97精品一区二区| 3d动漫啪啪精品一区二区免费| 国产精品一区视频网站| 欧美黑人粗大| 国产亚洲精品久久| 波多野结衣视频观看| 欧美日韩一区二区三区在线| 最新黄色av网址| 一区二区三区精品在线| 黄色av网址在线观看| 国产午夜精品理论片a级大结局| 狠狠热免费视频| 狠狠网亚洲精品| 91精品国产91久久久久麻豆 主演| 午夜一级久久| 亚洲精品中文综合第一页| 亚洲精品成人影院| 精品产品国产在线不卡| 成人精品影院| 高清不卡日本v二区在线| 综合色就爱涩涩涩综合婷婷| 国产精品日韩欧美综合| 亚洲国产视频二区| 日本国产欧美一区二区三区| 亚洲人体在线| 91精品国产乱码久久久久久蜜臀| 狠狠久久综合| 韩国精品美女www爽爽爽视频| 激情开心成人网| 亚洲男女性事视频| 国产高清第一页| 亚洲午夜精品久久久久久性色 | 91精品久久久久久久久久不卡| 国产精品成人av在线| 精品视频一二| 日本久久久久久| 欧美一级大片在线视频| 清纯唯美亚洲激情| 日韩一区二区三区色 | 国产中文字幕一区二区| 欧美国产成人在线| 蜜臀aⅴ国产精品久久久国产老师| 久久精品亚洲精品国产欧美kt∨| 日韩精品一区在线| 亚洲精品午夜久久久久久久| 欧美日韩一级大片网址| 日本在线视频免费| 在线不卡的av| 99精品人妻国产毛片| 欧美成人a视频| 久久国产视频网站| 91麻豆视频在线观看| 日韩久久免费视频| 国产特黄一级片| 国产一区二区av| 欧美自拍偷拍第一页| www.国产一区| 成人精品三级| 97**国产露脸精品国产| 999久久久精品一区二区| 国产日韩av高清| 精品久久久久中文字幕小说 | 蜜臀av性久久久久蜜臀aⅴ | 亚洲国产美国国产综合一区二区| 在线看片中文字幕| 色综合色狠狠综合色| 黄色小视频在线免费看| 337p亚洲精品色噜噜| 怡红院男人的天堂| 国产午夜精品视频| 欧美无毛视频| 欧美在线观看视频| 欧美电影完整版在线观看| 成人免费视频网站| 欧美视频官网| 亚洲熟妇无码av在线播放| 国产在线播放一区| 欧美一级视频在线| 亚洲人成网站精品片在线观看| 极品久久久久久久| 欧美视频一区在线| 亚洲 小说区 图片区| 中文字幕不卡av| 久久久久久久性潮| 国产视频福利一区| 忘忧草精品久久久久久久高清| 亚洲国产另类久久久精品极度| 免费在线观看一区二区三区| 亚洲五月天综合| 亚洲国产成人午夜在线一区| 久久国产波多野结衣| 欧美伊久线香蕉线新在线| jlzzjlzzjlzz亚洲人| 最近2019中文字幕大全第二页| 欧美日韩精品免费观看视完整| 欧美在线免费视频| 亚洲成a人片77777在线播放| 久久久久久久久四区三区| 午夜在线视频一区二区区别 | 精品黑人一区二区三区| 亚洲毛片在线观看| 久久久成人av毛片免费观看| 国产成人一区三区| 日韩毛片视频| 先锋影音男人资源| 豆国产96在线|亚洲| 亚洲天堂网一区二区| 91国偷自产一区二区三区成为亚洲经典 | 日韩精品小视频| 日本不卡在线观看| 免费亚洲一区| 波多野结衣天堂| 中文字幕综合网| 国产一级淫片免费| 亚洲女同精品视频| 久久av影院| 亚洲综合精品一区二区| 亚洲国产精品第一区二区| 青青草原av在线播放| 国产精品久久精品日日| 唐朝av高清盛宴| 精品亚洲国产视频| 99久久婷婷国产综合精品首页| 91久久国产综合久久91精品网站| 国产综合自拍| 91av俱乐部| 一区二区三区欧美视频| 黑人一级大毛片| 久久久av一区| 亚洲精品动态| 最新视频 - x88av| 久久亚区不卡日本| 欧美激情精品久久久久久免费| 亚洲国产小视频在线观看| 香蕉久久一区| 久久久一本精品99久久精品66| 国内国产精品久久| 中文字幕国产综合| 精品奇米国产一区二区三区| av免费在线一区| 国产精品久久久久久久久久久久午夜片 |