0

既存のスクリプトにアドレスプラグインを追加しようとしていますが、問題が発生しています。

これが私の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>

確認のため、script.jsの後にjquery.address-1.4.min.jsを含めています。jScrollPaneライブラリもあります。

現在、各アンカーをクリックするとパスが変更され、戻ることもできますが、localhost:8888 /#/ Comedyを超えてコピーすると、デフォルトで最初のメニュー項目になります。

提案やヒントをありがとう。

4

1 に答える 1

1

ページ ID (ハッシュタグ) はクリックを示しません。

したがって、localhost:8888/#Comedy または localhost:8888 と入力すると、違いが生じるはずです。

しかし、できることは、ページ読み込み時にハッシュタグをチェックし、スクリプトを実行してクリックとして脅すことです。

そう

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();
}

AではなくLIタグをクリックしたくないと思います。これは、JSでターゲットにしたものだからです。

于 2011-10-24T22:25:03.620 に答える