【问题标题】:Pagination issue with wordpresswordpress 的分页问题
【发布时间】:2014-09-06 04:22:17
【问题描述】:

这是我在 Stack Overflow 上的第一篇文章。如果我不遵守“规则”,请提前道歉。谢谢你告诉我。

上下文如下: 我正在编写一个网页地理定位协会中的人,并在 wordpress 框架内的谷歌地图上显示他们的位置。当我点击他们的标记时,我会显示一个包含他们信息的信息窗口。 在地图上,我可以使用表单过滤/搜索人员(例如,仅查看名为 Paul 的人员)。到目前为止,所有这些工作。

我的问题如下: 当我进行搜索时,我想在地图下方显示结果。因为我可以得到很多结果(假设通常在 100 左右),所以我想用一些分页来显示它们。基本上我很乐意做这样的事情http://tympanus.net/jPaginate/ ...但我很难实现它:(

现在是代码!

我首先创建 div 来托管分页菜单

<div class="content">
    <h1>Result </h1>
    <div id="results">  
    </div>
</div>  

然后我加载相关库

<script src="<?php echo bloginfo('template_url'); ?>/js/jquery-1.3.2.js" type="text/javascript"></script>
<script src="<?php echo bloginfo('template_url'); ?>/js/jquery.paginate.js" type="text/javascript"></script>

最后我自己写分页代码

<script type="text/javascript">
        jQuery(function ($) {
            $("#results").paginate({
                count   : 20,
                start   : 1,
                display     : 8,
                border          : true,
                border_color        : '#fff',
                text_color          : '#fff',
                background_color        : 'black',  
                border_hover_color  : '#ccc',
                text_hover_color    : '#000',
                background_hover_color  : '#fff', 
                images          : false,
                mouse           : 'press'
            });
        });
</script>

尽管如此,当我这样做时,我没有分页菜单并且控制台正在返回我

TypeError: $jaer(...).on is not a function

在 .js 文件中 ...

根据 Google 先生的说法,这似乎是由于 $ 符号的定义冲突造成的。但是应该通过使用 jQuery(function ($) { } is not??

来避免这个问题

【问题讨论】:

  • 您是否检查过控制台输出以查看正在加载的 js 文件的路径是否正确?编写脚本的最佳方式是在函数中入队。
  • $jaer = jQuery 某处吗?
  • 我可以使用 html 中返回的路径访问文件,因此看起来是正确的。在 pagination.js 文件中,我确实有 $jaer = jQuery.noConflict();
  • 好的,我想这是你使用的jQuery的版本,在下面查看我的答案。
  • 我在源代码http://tympanus.net/jPaginate/jquery.paginate.js中也看不到$jaer

标签: javascript jquery wordpress google-maps pagination


【解决方案1】:

我发现了问题。这是由于 jQuery 版本之间的冲突。 1.8 版由 Wordpress 加载(我不是该网站的唯一用户),我正在加载 1.3 版。

【讨论】:

    【解决方案2】:

    尝试这样做:

     (function($) {
         $("#results").paginate({
                count   : 20,
                start   : 1,
                display     : 8,
                border          : true,
                border_color        : '#fff',
                text_color          : '#fff',
                background_color        : 'black',  
                border_hover_color  : '#ccc',
                text_hover_color    : '#000',
                background_hover_color  : '#fff', 
                images          : false,
                mouse           : 'press'
            });
    

    })(jQuery)

    编辑

    经过一番调查,这不是问题所在,似乎 $ 已定义,我之前从未见过这种特殊语法:http://jsfiddle.net/UL69C/5/

    不确定您的其余代码,但$ 在上面的示例中将是未定义的。

    编辑 02

    我认为这可能是 $jaer 未定义的结果($jaer = jQuery$jaer = $)就像在这个小提琴中:http://jsfiddle.net/UL69C/9/

    编辑 03

    好的,您使用的jQuery版本 似乎较旧,在这种情况下,不支持on...使用.delegate() or .live()

    【讨论】:

    • 是的,我刚刚更新了我的答案。这不是问题,只是以前没见过这样的设置。
    • 如果我是对的,我的语法将使脚本等待页面加载,而您的脚本将立即执行。
    • 我认为问题在于 $jaer = jQuery 没有定义。
    • 再次更新了答案。
    • 谢谢,我会看看然后回复你(我根本不是网络忍者......)。
    猜你喜欢
    • 2021-07-31
    • 1970-01-01
    • 2013-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多