jQuery 使用链接/控制器显示隐藏内容/div

发布于 2024-09-14 01:02:22 字数 1524 浏览 6 评论 0原文

我正在尝试使用 jquery 为多个 div 内容创建选项卡效果。目前,有一个项目列表,当您单击该列表时,它会触发带有匹配 ID 作为超链接的 div。但我希望能够有一个附加功能,在内容 DIV 中,有一个链接,您单击它就会显示其后的下一个 div,并突出显示它所在的当前 div。

除了突出显示与您正在查看的当前 DIV 相匹配的导航(由内容 DIV 中的内部链接触发)之外,我几乎已经完成了所有工作。

希望这不会太令人困惑,下面是我迄今为止得到的一些代码。

HTML:

<div>
    <div id="page1">
        <p>xxx</p>
        <p><a href="#page2">Continue &raquo;</a></p>
    </div>
    <div id="page2">
        <p>xxx</p>
    </div>
</div><!-- /tabContainer -->
<div>
    <span>Page</span>
    <ul>
        <li><a href="#page1">1</a></li>
        <li><a href="#page2">2</a></li>
    </ul>
</div><!-- /pagination -->

JavaScript:

$(".tabContent").hide();
$("ul.tabs li:first").addClass("active").show();
$(".tabContent:first").show();

$("ul.tabs li").click(function(e) {
e.preventDefault();
    $("ul.tabs li").removeClass("active");
    $(this).addClass("active");
    $(".tabContent").hide();

    var activeTab = $(this).find("a").attr("href");
    $(activeTab).fadeIn();
    return false;
});    

$(".continue").click(function(e) {
    e.preventDefault();
    var activePage = $(this).attr("href");
    $(this).parent().parent().hide();
    $(activePage).fadeIn();

    $("ul.tabs li").removeClass("active");
    $("ul.tabs li > a[href='activePage']").addClass("active");
});

I'm trying to use jquery to create a tab effect for several div contents. at the moment, theres a list of items that when you click on, it triggers the div with the matching ID as the hyperlink. But I want to be able to have an additional feature where within the content DIV, theres a link that you click on and it will show the next div after it, as well as highlight the current div it is on.

I have got pretty much all of it working except for highlighting the nav matching the current DIV that you are viewing which is triggered from an internal link within the content DIV.

Hope that's not too confusing to understanding, below is some code of what i got thus far.

HTML:

<div>
    <div id="page1">
        <p>xxx</p>
        <p><a href="#page2">Continue »</a></p>
    </div>
    <div id="page2">
        <p>xxx</p>
    </div>
</div><!-- /tabContainer -->
<div>
    <span>Page</span>
    <ul>
        <li><a href="#page1">1</a></li>
        <li><a href="#page2">2</a></li>
    </ul>
</div><!-- /pagination -->

javascript:

$(".tabContent").hide();
$("ul.tabs li:first").addClass("active").show();
$(".tabContent:first").show();

$("ul.tabs li").click(function(e) {
e.preventDefault();
    $("ul.tabs li").removeClass("active");
    $(this).addClass("active");
    $(".tabContent").hide();

    var activeTab = $(this).find("a").attr("href");
    $(activeTab).fadeIn();
    return false;
});    

$(".continue").click(function(e) {
    e.preventDefault();
    var activePage = $(this).attr("href");
    $(this).parent().parent().hide();
    $(activePage).fadeIn();

    $("ul.tabs li").removeClass("active");
    $("ul.tabs li > a[href='activePage']").addClass("active");
});

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

打小就很酷 2024-09-21 01:02:22

除了突出显示与您正在查看的当前 DIV 相匹配的导航(由内容 DIV 中的内部链接触发)之外,我几乎已经完成了所有工作。

尝试以下代码:

$("ul.tabs li > a[href='"+activePage+"']").addClass("active");

如果您放置一个变量在“”中,它不会被视为变量(尽管它可以在 PHP 中工作,除非它是单引号)。 :)

I have got pretty much all of it working except for highlighting the nav matching the current DIV that you are viewing which is triggered from an internal link within the content DIV.

Try this code:

$("ul.tabs li > a[href='"+activePage+"']").addClass("active");

If you put a variable in " ", it wont be seen as a variable(it would work in PHP though, unless it's single quotes). :)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文