Как остановить мой массив, анализируя весь контент в jQuery? - PullRequest
0 голосов
/ 14 марта 2012

У меня есть два глобальных массива, но при вызове вне сценария - он анализирует все строки вместо 0 для первого вызова, 1 для второго вызова, 2 для третьего вызова и т. Д.

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>

Как я могу назначить их последовательно, пожалуйста?

Ответы [ 2 ]

1 голос
/ 14 марта 2012

На самом деле не совсем понятно, что вы хотите, но если вы хотите создать связь между областью, по которой щелкают, чтобы вы могли получить доступ к правильному индексу массива, используйте метод jQuery index ()

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

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

        alert( altTitle[index]);

})
1 голос
/ 14 марта 2012

Это:

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

должно быть

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

или

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

Хотя, я не совсем понимаю ваш вопрос.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...