Проблемы с навигацией с jQuery.Ссылки работают только в одном div - PullRequest
0 голосов
/ 04 июня 2011

Я пытаюсь создать веб-сайт, который использует только одну большую страницу с массивом div 3x3, где пользователь будет видеть только один div за раз, а jQuery будет перенаправлять экран, используя ссылки для анимации необходимого div. Я получил идею от этой бесплатной кодовой страницы , но я бы хотел, чтобы ссылки были внутри каждого элемента, а не снаружи внутри их собственного контейнера.

Сейчас у меня есть ссылки, работающие нормально на «домашнем» div (центральном) с анимациями, все работают правильно, но когда я копирую + вставляю код ссылки в html в другой div, они отказываются работать. Я понятия не имею, почему, потому что все div одинаковы, а код, по-видимому, не имеет ничего общего со ссылкой на центральный div.

HTML-код выглядит примерно так (только 9 ссылок):

<div id="one" class="elements">
  <div class="block25">
    <span class="go1"><img src="images/go1.png" alt="One"><h4>ONE</h4></span>
  </div>
</div>

Пока jQuery такой:

$('.go1').click(function(){
     $('#one').click();
     });

$('#one').click(function(){;
    currentId = $('selected').attr('id');
    goId = section[0][0];
    $target = $('div[id=' + goId +']');
    $paneTarget.stop().scrollTo($target, 800, { margin: true } );
    $('div[id=' + currentId +'], div[id=' + goId +']').toggleClass('selected');
});

Что я делаю не так? Любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 04 июня 2011

Я думаю, это потому, что ваш скрипт ссылается на div s ID.ID должны быть уникальными для этой страницы.Таким образом, скрипт будет работать только с одним div, потому что a) он написан для доступа только к одному div и b) потому что ID s уникальны.

Чтобы исправить это, вы можете сделать две вещи:

  1. присвойте каждому div уникальный ID и скопируйте сценарий столько раз, сколько необходимо (проще всего, если вы не уверены в коде).

  2. присвойте div s одинаковые class и измените код, чтобы он применялся к каждому экземпляру класса.

...