2012-08-03 107 views
0

嘿,夥計們有點卡在這裏。我首先要向你展示代碼。使用帶javascript功能的onclick,在參數中調用js var

<script type="text/javascript" language="javascript"> 
var Stanley = "Text here"; 
function TextLooper(Alien) 
{ 
var myArray = Alien.split(""); 
var loopTimer; 
var changeLetter = function() 
{ 
    if(myArray.length > 0) 
    { 
     document.getElementById("TypingStanley").innerHTML += myArray.shift(); 
    } 
    else 
    { 
     clearTimeout(loopTimer); 
    } 
} 
setInterval(changeLetter, 70); 
}; 
function InfoBoxClick(id, visibility,AlienVar) 
{ 
    document.getElementById(id).style.display = visibility; 
    TextLooper(AlienVar); 
} 
</script> 

這就是我的JavaScript和我使用與下面的onlick href;

<a href="#Aliens-Stanley" onclick="InfoBoxClick('StanleyInfo','block','Stanley');">LinkName</a> 

我想對函數InfoBoxClick()被命名爲士丹利的VAR在JavaScript中提到的第三個參數,但我似乎無法做到這一點,誰知道我需要做的???

+0

你的代碼似乎很好:http://jsfiddle.net/nivas/zewyU/ – Nivas 2012-08-03 03:14:29

+0

@Nivas代碼在那裏不起作用,因爲你看到它說stanley這個詞,但在代碼中它應該在這裏說文本。我現在已經排序了這個問題,我的下一個問題是,如果我多次點擊它多次調用該函數,並改變數組 – Wibberley1991 2012-08-03 04:07:30

回答

0

您需要引用Stanley如在onclick一個變量:

InfoBoxClick('StanleyInfo','block',Stanley); 

JSFiddle

剛上風格友善評論,變量應該是小寫,類和常量應該是CapitalCase分別爲大寫。這只是一個約定,但會幫助其他JavaScript開發人員理解您的代碼。

+0

這很好用謝謝,虐待接受這個。還有一個問題,是否有可能告訴它只運行一次腳本來獲得一個錯誤,當我再次單擊該鏈接時 – Wibberley1991 2012-08-03 03:11:20

0

在JS bcoz一個參數總是隱藏像(本),

如果你想傳遞3個參數,然後

不要送3派4個參數和第1個是(這個)

<a href="#Aliens-Stanley" onclick="InfoBoxClick(this,'StanleyInfo','block','Stanley');">LinkName</a> 

和往昔函數寫

function InfoBoxClick(e,id, visibility,AlienVar) 
{ 
    document.getElementById(id).style.display = visibility; 
    TextLooper(AlienVar); 
} 
在該第一參數e男子的動作例如事件

(的onclick,......)

+0

似乎不能回答我的問題,但將此設置的好處是什麼?和它的原因? – Wibberley1991 2012-08-03 11:58:23

+0

如果你不把「this」和你的最後一個參數,即「3rd」自動轉換成「this」,「this」mens甚至可以把名字 – 2012-08-03 12:05:30

+0

與「this」放在一起,然後檢查它,然後告訴我 – 2012-08-03 12:07:33