2012-03-14 45 views
0

我有兩個全局數組,但是當調用的腳本之外 - 它分析所有字符串,而不是0到第一個呼叫,1至第二個電話,2到第三呼叫等如何阻止我的數組解析jQuery中的所有內容?

jQuery的:

$(document).ready(function() { 
$('map > area.fancybox').click(function(e) { 
    e.preventDefault(); 
    var url = $(this).attr('href'); 
    var title = $(this).attr('title'); 
    var type = $(this).attr('rel'); 
    $.fancybox({ 
     'title': title, 
     'titlePosition': 'inside', 
     'href' : url, 
     'type' : type, 
      closeBtn : true, 
    maxWidth : 467, 
    maxHeight : 609, 
    fitToView : false, 
    padding : '5', 
    openEffect : 'none', 
    closeEffect : 'none' 
    }); 
    $('.fancybox').attr('title', altTitle); 
}); 

    window.slideTitles = [ "Title 0", 
         "Title 1", 
         "Title 2" 
        ]; 

    window.altTitle = [ "This is ALT tag 0", 
         "This is ALT tag 1", 
         "This is ALT tag 2" 
        ]; 
}); 

的HTML:

<img src="test.jpg" width="800" height="480" border="0" usemap="#Map" /> 
<map name="Map" id="Map"> 
    <area shape="rect" coords="59,132,227,367" href="test1.htm" class="fancybox" rel="iframe" onClick="_gaq.push(['_trackEvent', window.slideTitles, window.altTitle, 'testing action']);" /> 
    <area shape="rect" coords="304,108,483,382" href="test2.htm" class="fancybox" rel="iframe" onClick="_gaq.push(['_trackEvent', window.slideTitles, window.altTitle, 'testing action']);" /> 
    <area shape="rect" coords="514,46,747,441" href="test3.htm" class="fancybox" rel="iframe" onClick="_gaq.push(['_trackEvent', window.slideTitles, window.altTitle, 'testing action']);" /> 
</map> 

我怎樣才能使它們分配的順序嗎?

回答

1

此:

$('.fancybox').attr('title', altTitle[$(this).index()]); 

應該

$(this).attr('title', altTitle[$(this).index()]); 

this.title = altTitle[$(this).index()]; 

雖然,我不完全明白你的問題。

+0

喜凱文,我已經更新$('。fancybox')。attr('title',altTitle);到$(this).attr('title',altTitle);但仍輸出:title =「這是ALT標籤0,這是ALT標籤1,這是ALT標籤2」,無論點擊哪個鏈接。我想要的是拉第三行數組的第三個鏈接,所以標題標籤會說:「這是ALT標籤2」。 – JayDee 2012-03-14 16:29:47

+0

@JayDee嘗試我最新的編輯,我解決了這個問題。 – 2012-03-14 16:30:40

+0

PEREFECT !!!謝謝:)對不起,這個問題並不清楚,我沒有真正明白什麼是錯誤的,因爲我剛剛開始學習jQuery和數組! – JayDee 2012-03-14 16:35:05

1

真的不完全清楚你想要什麼,但如果它是創造的點擊區域之間的關係,以便您可以訪問適當的數組索引,使用jQuery指數()方法

http://api.jquery.com/index/

$('map > area.fancybox').click(function(e) { 
     var index=$(this).index(); 

     alert(altTitle[index]); 

}) 
相關問題