Адрес jQuery выяснить, какой элемент был нажат - PullRequest
0 голосов
/ 21 августа 2011

Я использую jquery.address () для загрузки своих страниц через ajax:

$. Address.state (''). Init (function () {

// Initializes the plugin
$('#menu a').address();
$('#nextprev a').address();

}).change(function(event) {

// Loads the page content and inserts it into the content area
$.ajax({
    url: $.address.state() + event.path,
    error: function(XMLHttpRequest, textStatus, errorThrown) {
      console.log(XMLHttpRequest.responseText);
    },
    success: function(data, textStatus, XMLHttpRequest) {
      $('title').html($('title', data).html());
      $.address.title(/>([^<]*)<\/title/.exec(data)[1]);
      $('#content').html($('#content', data).html());
      loadstuff();
      startAnimation();
    }
});

var startAnimation = function(data) {
... some animation going on here
});

В настоящее время послекод вызывает ajax для загрузки следующей страницы, следующая страница вылетает через startAnimation (). Пока это работает очень хорошо.

Однако у меня есть #next и #prev элемент в #nextprev. Я хочуадрес, чтобы узнать, какой из них был нажат, а затем загрузить другую функцию (например, startAnimation2 ()).

1 Ответ

0 голосов
/ 21 августа 2011

Вам потребуется определить в атрибуте разметки (или в скрытом вводе / локальной памяти ПК) текущий индекс анимации, например, как:

<input type="hidden" value="3" name="current-animation" />

и затем получите значение:

$('input[name="current-animation"]').val();

Альтернатива с разметкой:

<div id="animation-data" data-current="3" data-animation="animation-1"></div>
...