Адресный плагин Jquery и мой существующий скрипт - PullRequest
0 голосов
/ 22 октября 2011

Я пытаюсь добавить адресный плагин в существующий скрипт, но у меня возникают проблемы.

Вот мои jquery и html.(noConflict не нужен для других библиотек, включенных в этот проект)

jQuery.noConflict();
jQuery(document).ready(function($) {

$('.dk_movie_list .grid').hide().css('visibility','visible').address();

$('.dk_movie_list .grids .all').show();

$('.dk_movie_list .grids .all').jScrollPane({
    verticalDragMinHeight: 205,
    verticalDragMaxHeight: 205
});

// Display all on initial load
$('.dk_movie_list .grids .all').css({position:'absolute',display:'block'});

$('.dk_movie_list ul.nav li').click(function() {
    $(this).addClass('btnSelect').siblings().removeClass('btnSelect');
    i = $(this).index();
    $('.dk_movie_list .grid:visible').fadeOut(400, function() {

        $('.dk_movie_list .grid:eq(' + i + ')').fadeIn(400).address();

        $('.dk_movie_list .grid').jScrollPane({
        verticalDragMinHeight: 205,
        verticalDragMaxHeight: 205
        });

    });

    $('.dk_movie_list .grid').jScrollPane({
        verticalDragMinHeight: 205,
        verticalDragMaxHeight: 205
    });

  });
});


 <ul class="nav">
                        <li class="all"><a class="btnSelect" rel="address:all">All</a></li>
                        <li><a rel="address:Action-Adventure">Action-Adventure</a></li>
                        <li><a rel="address:Comedy">Comedy</a></li>
                        <li><a rel="address:Drama">Drama</a></li>
                        <li><a rel="address:Documentary">Documentary</a></li>
                        <li><a rel="address:Foreign">Foreign Films</a></li>
                        <li><a rel="address:Horror">Horror</a></li>
                        <li><a rel="address:Independent">Independent</a></li>
                        <li><a rel="address:Family">Family</a></li>
                        <li><a rel="address:Music">Music</a></li>
                        <li><a rel="address:Romance">Romance</a></li>
                        <li><a rel="address:SciFi-Fantasy">SciFi-Fantasy</a></li>
                        <li><a rel="address:Suspense-Thriller">Suspense-Thriller</a></li>
                    </ul>

Просто чтобы подтвердить, я включаю jquery.address-1.4.min.js после моего script.js.У меня также есть библиотека jScrollPane.

В настоящее время, после того, как я щелкаю каждый якорь, путь меняется, и я также могу вернуться назад, но если я скопирую прошлое localhost: 8888 / # / Comedy, то по умолчанию будет только первый пункт меню.

Спасибо за предложения или советы.

1 Ответ

1 голос
/ 25 октября 2011

Идентификатор страницы (хэштег) не указывает на клик.

Так что если вы введете localhost: 8888 / # Comedy или localhost: 8888, это должно иметь какое-то значение.

Но что вы можете сделать, это проверить хэштег на загрузке страницы, а затем выполнить сценарий, чтобы он угрожал ему одним щелчком мыши.

So

if(window.location.hash) {
 //set the value as a variable, and remove the #
 var hash_value = window.location.hash.replace('#', '');
 //i don't know your code so i can only simulate a click, you should instead do the real function
 $('a[rel$="'+hash_value+'"]').parent().click();
}

Я предполагаю, что вы не нажмете на тег LI, а не на A, поскольку именно это вы и выбрали при помощи JS.

...