0

メニューとして画像スライダープラグイン(Elastislide)を使用したいのですが。問題は<a href="#">、関数として使用され、リンクとして使用できないことです。私はもう試した。<li>そのため、画像/キャプションまたはを疑似リンクとして使用するjQueryソリューションを探しています。

ページはすべてローカルなので、別のドメインに移動する必要はありません。同じディレクトリ内の別のページに移動するだけです。これがHTMLの例です

        <div id="carousel" class="es-carousel-wrapper">

        <div class="es-carousel">

        <ul>

    <li value="another_page.php"><a href="#"><img src="images/small/1.jpg" alt="image01" /></a></li>
    <li value="yet_another.php"><a href="#"><img src="images/small/2.jpg" alt="image02" /></a></li>
    <li value="still_another.php"><a href="#"><img src="images/small/3.jpg" alt="image03" /></a></li>
    <li value="last_one.php"><a href="#"><img src="images/small/4.jpg" alt="image04" /></a></li>

</ul>
</div>
</div>

別の投稿から手がかりを得て、価値を追加しました。

4

1 に答える 1

1

それぞれにクラスを追加できる場合は、liそのクラスを簡単に参照して、次のようなことを行うことができます。

$(".li-class").on("click", function(e) {
    $("#IDofSomeLoadAreaDiv").empty().load($(this).attr("value"));
});

リンクの一部だけでなくリンク全体を表すために、これらの値のリンクを変更する必要がある場合があります

また、myURL Extensionのようなものを追加した場合は、次のようなことができます。

$(".li-class").on("click" function(e) {
    $("#IDofSomeLoadAreaDiv").empty().load($.myURL("index", $(this).attr("value")));
});
// and this would eliminate the need to assure correct full link in each li, 
// as it would call your base site url, add index.php to it and then add 
// the link in your li.value

ビューの一部を現在のページにロードすることを検討していない場合は、質問を読み間違えた可能性があります。つまり、新しいリンクでページを「更新」する場合は、次の手順を実行します。

$(".li-class").on("click", function(e) {
    window.location = $(this).attr("value");
});
// or with myURL extension if you want
$(".li-class").on("click" function(e) {
    window.location = $.myURL("index", $(this).attr("value"));
});

また!新しいウィンドウで開きたい場合は、そのための単純なjQuery拡張機能もあります(jsFiddleを参照してください。長いコメント行の間にjsコードをコピーしてください)。これにより、次のように簡単に実行できます。

$(".li-class").on("click" function(e) {
    $.winOpen($.myURL("index", $(this).attr("value")), "windowName", { fullscreen: "no", height: "600px", toolbar: 1, width: 600 });
});

大きな更新:フィドルは、古いjQueryをどこで使用しているかを知るのに役立ちました

.onがないそのバージョンのjQueryでは、プラグインを実際に追加せずにmyURLプラグインを使用しようとする場合もあります。私はあなたのフィドルの作業バージョンをここに再現しまし

そのプラグインを使用する場合は、ヘッダーに追加するか、jsファイルを作成して、他のjqueryプラグインと同じようにヘッダーにリンクする必要があります。そうでない場合は、図のように直接リンクを作成できます。前の例では。

その他の更新:jQueryのそのバージョンが要素からのattr(別名「値」)のみをサポートしないという問題が見つかりました。javascript呼び出しでも変更<li value="され、修正されました。<li href="

また、myURLプラグインなしでそのロケーション呼び出しを行うには、次のように置き換えるだけです。

window.location = $.myURL("index", $(this).attr("value"));

window.location = $(this).attr("value");

ただし、これは、各liのhrefattrに完全なサイトURLがあることを確認することを意味することを忘れないでください

于 2012-04-19T18:49:27.450 に答える