0

我想使用图像滑块插件(Elastislide)作为菜单。问题是它<a href="#">用作函数,不能用作链接。我试过了。所以,我正在寻找一个 jQuery 解决方案来使用图像/标题或 a<li>作为伪链接。

这些页面都是本地的,所以我不需要去另一个域,只需在同一目录中的另一个页面。这是 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

如果您可以为 each 添加一个类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 Here,在长注释行之间复制 js 代码),它可以让它变得简单:

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

大更新:小提琴帮助,帮助了解你在哪里使用旧的 jQuery

使用该版本的 jQuery,您没有 .on,您也可以在不实际添加插件的情况下尝试使用 myURL 插件。我在这里重新创建了你的小提琴的工作版本

如果您想使用该插件,您需要将其添加到您的标题或为其创建一个 js 文件并将其链接到您的标题中,就像任何其他 jquery 插件一样,如果没有,您可以直接创建链接,如图所示在前面的例子中。

更多更新:发现该版本的 jQuery 不支持元素中的任何属性(又名“值”)的问题。更改<li value="<li href="并在 javascript 调用中对其进行了修正。

此外,要在没有 myURL 插件的情况下进行位置调用,您可以简单地替换:

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

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

但是,请记住,这意味着确保您在每个 li 的 href attr 上都有完整的站点 url

于 2012-04-19T18:49:27.450 回答