欧美三区四区_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教程
亚洲欧美日韩国产成人精品影院 | 午夜激情一区二区| 亚洲色图19p| 亚洲黄色www网站| 成人中文字幕在线观看| 中文字幕一区二区三区5566| 成人性免费视频| 日本精品在线免费观看| aaaa欧美| 狂野欧美一区| 一本大道久久a久久综合婷婷| 欧美风情在线观看| 天堂v在线视频| 欧洲美一区二区三区亚洲 | 激情综合一区二区三区| 91国产丝袜在线播放| 欧美日韩高清区| 中文字幕中文字幕在线中心一区 | xxx一区二区| 青青草国产精品| 日批在线观看视频| 亚洲乱码在线观看| 欧美日韩1区2区3区| 亚洲天堂久久久久久久| 91国产精品视频在线| 人人妻人人做人人爽| 羞羞色院91蜜桃| 久久一区二区三区电影| 国产精品免费aⅴ片在线观看| 一区二区三区国产在线观看| 日产精品高清视频免费| 国产综合精品久久久久成人av| 天堂久久午夜av| 久久视频一区| 日韩一区二区电影网| 亚洲综合在线中文字幕| 日本黄色一级网站| 午夜久久久久久久久久| 国语自产精品视频在线看8查询8| 一区二区三区日韩欧美精品| 欧美激情极品视频| 亚洲精品国产无天堂网2021| 久久精品最新地址| 一区二区三区四区视频在线观看| 国产三级在线观看完整版| 卡一精品卡二卡三网站乱码| 99精品欧美一区| 亚洲欧美日韩一区二区三区在线| 奇米精品在线| 国产69精品久久久久久久久久| 日韩大片在线免费观看| 久久久精品综合| 在线观看日韩欧美| 男人亚洲天堂网| 国产乱码在线观看| 狂野欧美性猛交xxxx巴西| 精品视频久久久久久| 香蕉久久夜色| avtt天堂在线| 中国av一区| 综合网在线视频| 韩日欧美一区二区| 国产免费又粗又猛又爽| 亚洲免费成人网| 久久在线精品| 亚洲美女自拍视频| 妞干网在线免费视频| 国产农村老头老太视频| 国产精品夜夜夜| 欧美撒尿777hd撒尿| 91丨九色丨国产| 最近中文字幕免费| 欧美伦理影院| 亚洲国产综合91精品麻豆| 国产精品国语对白| 亚洲成a人无码| 久久久加勒比| 91在线视频免费观看| 啪一啪鲁一鲁2019在线视频| 中文字幕一区二区在线观看视频 | 激情综合色丁香一区二区| y97精品国产97久久久久久| 国产精品嫩草影视| 欧美一级全黄| 亚洲欧美日韩电影| 国产精品制服诱惑| 国产中文av在线| 国产亚洲一区| 五月天国产精品| 成人在线精品视频| 国产网址在线观看| 亚洲综合色站| 欧美午夜精品一区二区三区| 国模一区二区三区私拍视频| 潘金莲一级黄色片| 影音先锋日韩资源| 日韩欧美中文字幕精品| 日本国产在线播放| 99国产精品99| www日韩大片| 国内揄拍国内精品| 亚洲理论中文字幕| 激情中国色综合| 亚洲资源中文字幕| 99re在线国产| 色中色综合影院手机版在线观看| 国产裸体免费无遮挡| 好吊色一区二区三区| 久久久不卡影院| 操人视频欧美| 中文字幕人成人乱码亚洲电影| 久久九九精品| 日韩精品欧美激情| 欧美 日本 亚洲| 亚洲精品mv| 91色九色蝌蚪| 91精品视频大全| 久久这里只有精品9| 成人久久久精品乱码一区二区三区| 欧美成人精品影院| 一级黄色片在线免费观看| 国产精品久久久网站| 亚洲丰满少妇videoshd| 国产免费一区二区三区| 中文字幕网址在线| 91麻豆精品视频| 亚洲已满18点击进入在线看片| 伊人中文字幕在线观看| 日韩精品乱码av一区二区| 国产亚洲xxx| 日本不卡一区在线| 麻豆视频久久| 亚洲国产美女搞黄色| 亚洲一区二区三区乱码 | 日韩久久午夜影院| 99久久久无码国产精品性波多| 91视频精品| 一区二区三区视频观看| 美女100%无挡| 欧美日韩一二三四| 日韩精品视频免费在线观看| 国产精品熟妇一区二区三区四区| 欧美在线免费一级片| 亚洲第一中文字幕| 精品视频一区二区在线| 国产厕拍一区| 精品少妇一区二区三区免费观看| 男女视频网站在线观看| jizz久久精品永久免费| 色偷偷成人一区二区三区91| 国产精品网站免费| 午夜精品影视国产一区在线麻豆| 亚洲国产精品久久| 亚洲一级av无码毛片精品| 亚洲国产高清一区| 在线成人激情视频| jizz中文字幕| 国产精品啊v在线| 久久av红桃一区二区小说| 久久国产精品无码一级毛片| 91精品国产麻豆国产在线观看 | 亚洲在线视频观看| 国产a级免费视频| 26uuu国产电影一区二区| 精品日本一区二区三区在线观看| 午夜视频网站在线观看| 国产欧美一区二区精品秋霞影院 | 中文字幕日韩在线观看| 污版视频在线观看| 波多野结衣的一区二区三区 | 伊人久久综合网另类网站| 亚洲第一av色| 成人一区二区免费视频| 九九综合在线| 精品久久久久av影院| 丰满岳乱妇一区二区| 欧美岛国激情| 欧美成人午夜影院| 日本熟妇毛耸耸xxxxxx| 精品一区二区av| 欧美做受高潮1| 日本精品入口免费视频| 成人app下载| 成人激情视频网| 草草视频在线播放| 欧美性猛交xxxx黑人| 成人高清dvd| 欧美激情不卡| 精品久久久久久久一区二区蜜臀| 在线免费播放av| 欧美日一区二区三区在线观看国产免| 97涩涩爰在线观看亚洲| 丰满人妻一区二区三区四区| 亚洲精品老司机| 欧美v在线观看| 麻豆视频一区| 国产亚洲一区二区在线| 国产女人被狂躁到高潮小说| 久久99精品网久久| 精品国产乱码久久久久软件| 农村妇女一区二区| 精品国产不卡一区二区三区| 日本少妇激三级做爰在线| 国产深夜精品| 91精品久久久久久久久久| 国产精品尤物视频| 亚洲在线观看免费视频| 在线黄色免费观看| 久久久久久久高潮| 成人久久18免费网站漫画| 日本成人福利| 日韩av在线免费观看| www.xxxx日本| 久久精品欧美日韩精品| 欧洲精品久久| 国产91精品入| 欧美乱大交xxxxx| 中文字幕乱码中文字幕| 欧美视频国产精品| 免费啪视频在线观看| 狠狠狠色丁香婷婷综合激情| 免费精品视频一区| 台湾成人免费视频| 日韩不卡中文字幕| 久久人人爽人人爽人人| 91在线小视频| 免费特级黄色片| 午夜精品福利影院| 欧美激情奇米色| 99精品久久久久久中文字幕| 欧美日韩中文字幕一区二区| a天堂视频在线观看| 丁香六月久久综合狠狠色| 免费看啪啪网站| 第一会所sis001亚洲| 国产不卡av在线| 一级黄色片视频| 一区二区三区高清不卡| 日韩一级免费片| 蜜桃视频第一区免费观看| 91免费视频网站| 开心久久婷婷综合中文字幕| 在线观看欧美日韩国产| wwwwww在线观看| 欧美又粗又大又爽| 久久久久无码精品国产sm果冻| 久久免费偷拍视频| 自拍偷拍视频在线| 99精品网站| 97精品伊人久久久大香线蕉| www日本高清| 精品久久久久久最新网址| 久久久久久久久久久97| 亚洲第一精品在线| 欧美高清性xxxx| 久久午夜老司机| 又色又爽又高潮免费视频国产| 日韩国产精品91| 亚洲va久久久噜噜噜久久狠狠 | 456国产精品| 在线精品免费视| 日韩欧美在线播放| 日本二区在线观看| 国产精品久久久久三级| 亚洲欧美手机在线| 高清在线成人网| 色女人综合av| 亚洲精品国产偷自在线观看| 97人人模人人爽人人喊38tv| 北条麻妃一区二区三区在线| 久久久这里只有精品视频| 婷婷综合六月| 欧美成人官网二区| 久久精品免费在线| 欧美性xxxxhd| 91香蕉国产视频| 久久久影视传媒| 成年网站在线播放| 国产精品一区在线观看你懂的| 欧洲亚洲一区二区三区四区五区| 日韩精品1区| 欧美一区二三区| 日韩经典一区| 欧美成人免费播放| 最近高清中文在线字幕在线观看1| 国产一区二区三区直播精品电影| 一级做a爰片久久毛片16| 亚洲成av人乱码色午夜| 波多野结衣mp4| 欧美一区二区三区成人| 你懂得视频在线观看| 亚洲激情第一区| 亚洲av无码一区二区三区人| 亚洲免费观看高清在线观看| 亚洲国产无码精品| av在线播放不卡| 丁香六月激情网| 欧美成人日韩| 欧美一二三四五区| 你懂的一区二区三区| 国产欧美一区二区三区四区| 国产在线播放精品| 国产女精品视频网站免费| 激情久久一区二区| 久久久久久亚洲精品不卡| www.久久色| 国产亚洲精品久久久久久| 国产按摩一区二区三区| 在线播放国产一区二区三区| 少妇精品高潮欲妇又嫩中文字幕 | 成人一级片网址| 日本中文字幕高清| 蜜桃av噜噜一区二区三区小说| 久久www视频| 亚洲国产免费看| 影音先锋欧美在线| 天堂在线一区二区| 国产日韩欧美精品在线观看| 精品写真视频在线观看| 久久精品99国产| 99免费精品在线观看| 巨乳女教师的诱惑| 国产suv一区二区三区88区| 激情五月亚洲色图| 91在线视频在线| 欧美激情 亚洲| 亚洲精品亚洲人成人网| 男人天堂资源网| 在线观看日韩国产| 一区二区国产精品精华液| 欧洲精品在线观看| 天天做天天爱夜夜爽| 亚洲国产精品va在线观看黑人| 精品区在线观看| 美乳少妇欧美精品| 国产欧美日韩电影| 性色av一区二区三区红粉影视| 精品一区二区三区四区五区| 国产精品久久中文| 欧美另类中文字幕| 91精品久久久久久久久久久 | 亚洲自拍在线观看| 亚洲xxx拳头交| 亚洲日本欧美在线| 韩国成人福利片在线播放| 亚洲色图偷拍视频| 亚洲日本护士毛茸茸| 一区二区三区影视| 91麻豆精品国产91久久久| 福利一区二区三区四区| 精品国产一区二区三区不卡 | 欧美吞精做爰啪啪高潮| 黄瓜视频在线免费观看| 亚洲免费视频网站| 日韩免费福利视频| 国产精品高精视频免费| 精品久久综合| 亚洲精品中文字幕在线| 黄色成人在线网址| 99er在线视频| 9i在线看片成人免费| 波多野结衣影院| 一本一道久久a久久精品综合蜜臀 一本一道综合狠狠老 | 香蕉一区二区| 欧美精品欧美精品系列c| 日本不卡视频一二三区| 日韩一级特黄毛片| 成人国产精品免费网站| 少妇户外露出[11p]| 色综合久久综合中文综合网| 中文字幕手机在线视频| 精品国产区一区| 国精品人妻无码一区二区三区喝尿 | 欧美国产日韩在线观看成人| 精品裸体舞一区二区三区| 婷婷伊人综合中文字幕| 国产精品美女www爽爽爽视频| 99成人在线视频| av在线免费观看国产| 91麻豆视频网站| 四虎影视一区二区| 一本色道亚洲精品aⅴ| 特级西西444www大胆免费看| 久久综合伊人77777| 久久国产精品免费精品3p| 日本一区二区精品视频| 久久99精品网久久| 欲求不满的岳中文字幕| 欧美日韩中文字幕一区二区| 亚洲精品久久久久avwww潮水| 日韩男女性生活视频| 欧美绝顶高潮抽搐喷水合集| 欧美一区免费视频| 国产精品1区二区.| 999久久久精品视频| 亚洲成人激情综合网| 奴色虐av一区二区三区| 色综合导航网站| 日韩国产综合| 僵尸世界大战2 在线播放|