-1

我有一个消息页面,我可以在其中将它们视为列表。如果我选择其中的每一个,我会将它们显示在页面的右侧。为此,我为消息页面的“下一个”和“上一个”按钮提供了两个 javascript 函数。所以我在屏幕上有一个消息列表,如果我点击“下一步”,我会看到下一页的消息等等。一切正常,唯一的问题是在 Chrome 中,它不会在页面底部的 span 部分中加载页码。这是下一页的功能:

$("#next").click(function() {
    var currentPageElem = $("#currentPage");
    var totalPagesElem = $("#totalPages");  
    var minItemElem = $("#minItem");
    var maxItemElem = $("#maxItem");
    var totalItemsElem = $("#totalItems");
    var itemsOnPageElem = $("#itemsOnPage");
    var currentPageValue = parseInt(currentPageElem.val(), 10);

    if (currentPageValue < totalPagesElem.val()) {
        currentPageElem.val(currentPageValue + 1);
    }

    //the first record on the current page
    minItem = $(this).getMinItem(currentPageElem.val(), itemsOnPageElem.val());
    minItemElem.val(minItem);

    //the last record on the current page
    maxItem = $(this).getMaxItem(currentPageElem.val(), itemsOnPageElem.val(), totalItemsElem.val());
    maxItemElem.val(maxItem);

    $(this).showItems(minItem, maxItem);

    var pageHtml = $(".pages").html();
    $(".pages").html($(this).newPageHtml(pageHtml, currentPageElem.val()));
}); });

$.fn.newPageHtml = function(pageHtml, currentPage) {

    var idx1=pageHtml.indexOf("Pagina "); 
    var idx2=pageHtml.indexOf(" / ");
    var prevPage = pageHtml.substring(idx1 + 7, idx2);
    return pageHtml.replace(prevPage, currentPage);
};

这是涉及js的html代码:

<input type="hidden" id="totalPages" name="totalPages" value="${totalPages}"/>  
<input type="hidden" id="currentPage" name="currentPage" value="${currentPage}"/>   
<input type="hidden" id="minItem" name="minItem" value="${minItem}"/>   
<input type="hidden" id="maxItem" name="maxItem" value="${maxItem}"/>

...

<div class="controls">
        <a class="prev" id="prev"></a>
        <a class="next" id="next"></a>
        <span class="pages">
            <fmt:message key="messages.page">
                <fmt:param>${currentPage}</fmt:param>
                <fmt:param>${totalPages}</fmt:param>
            </fmt:message></span></div>
4

2 回答 2

0

你在Firefox或Safari中尝试吗?你的java版本是什么?如果你在 Chrome 中启用了 java/javascript,你会在 about:config 中查看吗

于 2013-10-21T08:05:54.280 回答
0

我已经解决了这个问题。CSS 文件存在问题,不允许文本在 Google Chrome 中正确转换。所以我从上面修改了 span 类的样式,如下所示:

<span class="pages" style = " position: absolute; ">

最初,跨度类的位置是相对的。我认为 Chrome 对这种类型的 CSS 有问题。

于 2013-10-22T07:30:44.150 回答