首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >分页到分页

分页到分页
EN

Stack Overflow用户
提问于 2012-10-16 18:17:51
回答 2查看 339关注 0票数 1

我正在尝试构建一个非典型的循环导航。

通常它是这样堆积的.

代码语言:javascript
复制
<a href="#">1</a>
<a href="#">2</a>
<a href="#">3</a>
<a href="#">4</a>
<a href="#">5</a>
<a href="#">6</a>
<a href="#">7</a>

我想要做的是将每2个元素包装在另一个div中,如下所示:

代码语言:javascript
复制
<div class="wrap">
   <a href="#">1</a>
   <a href="#">2</a>
</div>
<div class="wrap">
   <a href="#">3</a>
   <a href="#">4</a>
</div>
<div class="wrap">
   <a href="#">5</a>
   <a href="#">6</a>
</div>
<div class="wrap">
   <a href="#">7</a>
</div>

我知道,我应该用

代码语言:javascript
复制
pagerAnchorBuilder

但是不知道怎么把东西包在一起。有谁知道怎么做正确吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-07-31 16:10:08

您可以使用简单的循环和slice()来实现这一点

代码语言:javascript
复制
var $anchors = $('a');
for (var i=0; i < $anchors.length; i+=2) {
  $anchors.slice(i, i+2).wrapAll('<div class="wrap" />');
}

这将为您提供:

代码语言:javascript
复制
<div class="wrap">
   <a href="#">1</a>
   <a href="#">2</a>
</div>
<div class="wrap">
   <a href="#">3</a>
   <a href="#">4</a>
</div>
<div class="wrap">
   <a href="#">5</a>
   <a href="#">6</a>
</div>
<div class="wrap">
   <a href="#">7</a>
</div>

Here's a fiddle

票数 3
EN

Stack Overflow用户

发布于 2014-06-02 14:20:57

此站点的/*--------------------------------------------------------------------- *页面。---------------------------------------------------------------------/

函数geigerakademie_posts_paginate($args = false) {

代码语言:javascript
复制
        $type = 'posts';
        $options = array();
        $previouspage = '&laquo;';
        $nextpage = '&raquo;';
        $before = '<div class="paging clearfix">';
        $after = '</div>';
        $range = 3;
        $title = '';
        $anchor = 1;
        $gap = 1;

        $r = wp_parse_args($args, $options);
        extract($r, EXTR_SKIP);

        if (!isset($page) && !isset($pages)) {
            global $wp_query;

            if ($type === 'posts') {
                $page = get_query_var('paged');
                $posts_per_page = intval(get_query_var('posts_per_page'));
                $pages = intval(ceil($wp_query->found_posts / $posts_per_page));
            }
            else {
                $page = get_query_var('cpage');
                $comments_per_page = get_option('comments_per_page');
                $pages = get_comment_pages_count();
            }
            $page = !empty($page) ? intval($page) : 1;
        }

        $prevlink = ($type === 'posts')
            ? esc_url(get_pagenum_link($page - 1))
            : get_comments_pagenum_link($page - 1);
        $nextlink = ($type === 'posts')
            ? esc_url(get_pagenum_link($page + 1))
            : get_comments_pagenum_link($page + 1);

        $output = stripslashes($before);
        if ($pages > 1) {

            $ellipsis = "<a class='gap'>...</a>";

            if ($page > 1 && !empty($previouspage)) {
                $output .= sprintf('<a class="page-prev" href="%s"><span> </span></a>', $prevlink);
            }

            $min_links = $range * 2 + 1;
            $block_min = min($page - $range, $pages - $min_links);
            $block_high = max($page + $range, $min_links);
            $left_gap = (($block_min - $anchor - $gap) > 0) ? true : false;
            $right_gap = (($block_high + $anchor + $gap) < $pages) ? true : false;

            if ($left_gap && !$right_gap) {
                $output .= sprintf('%s%s%s',
                    geigerakademie_posts_paginate_loop(1, $anchor),
                    $ellipsis,
                    geigerakademie_posts_paginate_loop($block_min, $pages, $page)
                );
            }
            else if ($left_gap && $right_gap) {
                $output .= sprintf('%s%s%s%s%s',
                    geigerakademie_posts_paginate_loop(1, $anchor),
                    $ellipsis,
                    geigerakademie_posts_paginate_loop($block_min, $block_high, $page),
                    $ellipsis,
                    geigerakademie_posts_paginate_loop(($pages - $anchor + 1), $pages)
                );
            }
            else if ($right_gap && !$left_gap) {
                $output .= sprintf('%s%s%s',
                    geigerakademie_posts_paginate_loop(1, $block_high, $page),
                    $ellipsis,
                    geigerakademie_posts_paginate_loop(($pages - $anchor + 1), $pages)
                );
            }
            else {
                $output .= geigerakademie_posts_paginate_loop(1, $pages, $page);
            }

            if ($page < $pages && !empty($nextpage)) {
                $output .= sprintf('<a class="page-next" href="%s"><span> </span></a>', $nextlink);

            }
            $output .= "</ol>";
        }
        $output .= stripslashes($after);

        if ($pages > 1 || $empty) {
            echo $output;
        }
    }

函数geigerakademie_posts_paginate_loop($start,$max,$page = 0) {

代码语言:javascript
复制
        $type = 'posts';

        $output = "";
        for ($i = $start; $i <= $max; $i++) {
            $p = ($type === 'posts') ? esc_url(get_pagenum_link($i)) : get_comments_pagenum_link($i);
            $output .= ($page == intval($i))
                ? "<a class='page current' href='javascript:void(0)'>$i</a></span>"
                : "<a href='$p' title='$i' class='page'>$i</a>";
        }
        return $output;
    }
票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12912434

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档