欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

某頁(yè)碼顯示的helper 少量調(diào)整,另附j(luò)s版

 更新時(shí)間:2010年09月12日 19:37:50   作者:  
某頁(yè)碼顯示的helper 已經(jīng)少量調(diào)整,另附j(luò)s版,需要的朋友可以參考下。

如果你只想下載現(xiàn)成的用,可以到這個(gè)頁(yè)面上去找。
許可證是“WTFPL”,也就是“Do What The Fuck You Want To Public License”。

源代碼如下(因?yàn)橛凶⑨?,就不另外說(shuō)明了):
復(fù)制代碼 代碼如下:

public static class PageNumExt
{
/// <summary>
/// 使用傳入的委托計(jì)算并產(chǎn)生友好的頁(yè)碼。
/// </summary>
/// <param name="o"></param>
/// <param name="currentPage">當(dāng)前頁(yè)碼</param>
/// <param name="actionPageNum">處理頁(yè)碼的方式</param>
/// <param name="actionFolding">處理被折疊頁(yè)碼的方式</param>
/// <param name="maxSiblings">臨近頁(yè)碼的數(shù)量</param>
/// <param name="preventFolding">阻止折疊頁(yè)碼的臨界值,超過(guò)這個(gè)數(shù)目的頁(yè)碼將會(huì)被折疊</param>
public static void PageNumView(this object o,
long currentPage, PageNumAction actionPageNum, Action actionFolding,
long maxSiblings = 2, long preventFolding = 1)
{
o.PageNumView(currentPage, actionPageNum, actionPageNum, actionFolding, maxSiblings, preventFolding);
}
/// <summary>
/// 使用傳入的委托計(jì)算并產(chǎn)生友好的頁(yè)碼。當(dāng)前頁(yè)碼將會(huì)被特別對(duì)待。
/// </summary>
/// <param name="o"></param>
/// <param name="currentPage">當(dāng)前頁(yè)碼</param>
/// <param name="actionCurrent">處理當(dāng)前頁(yè)碼的方式</param>
/// <param name="actionPageNum">處理頁(yè)碼的方式</param>
/// <param name="actionFolding">處理被折疊頁(yè)碼的方式</param>
/// <param name="maxSiblings">臨近頁(yè)碼的數(shù)量</param>
/// <param name="preventFolding">阻止折疊頁(yè)碼的臨界值,超過(guò)這個(gè)數(shù)目的頁(yè)碼將會(huì)被折疊</param>
public static void PageNumView(this object o,
long currentPage, PageNumAction actionCurrent,
PageNumAction actionPageNum, Action actionFolding,
long maxSiblings = 2, long preventFolding = 1)
{
o.PageNumView(
currentPage, actionCurrent,
1, long.MaxValue,
actionPageNum, i => { },
maxSiblings, actionPageNum,
preventFolding, actionFolding,
maxSiblings, 0,
actionPageNum, i => { }
);
}
/// <summary>
/// 根據(jù)傳入的參數(shù)和委托來(lái)計(jì)算并產(chǎn)生友好的頁(yè)碼。當(dāng)前頁(yè)碼將會(huì)被特別對(duì)待。
/// </summary>
/// <param name="o"></param>
/// <param name="currentPage">當(dāng)前頁(yè)碼</param>
/// <param name="actionCurrent">處理當(dāng)前頁(yè)碼的方式</param>
/// <param name="beginPage">預(yù)設(shè)的起始頁(yè)碼</param>
/// <param name="endPage">預(yù)設(shè)的結(jié)束頁(yè)碼</param>
/// <param name="actionPageNum">處理頁(yè)碼的方式</param>
/// <param name="actionFolding">處理被折疊頁(yè)碼的方式</param>
/// <param name="maxSiblings">臨近頁(yè)碼的數(shù)量</param>
/// <param name="preventFolding">阻止折疊頁(yè)碼的臨界值,超過(guò)這個(gè)數(shù)目的頁(yè)碼將會(huì)被折疊</param>
public static void PageNumView(this object o,
long currentPage, PageNumAction actionCurrent,
long beginPage, long endPage,
PageNumAction actionPageNum, Action actionFolding,
long maxSiblings = 2, long preventFolding = 1)
{
o.PageNumView(currentPage, actionCurrent, beginPage, endPage, actionPageNum, actionPageNum, actionPageNum, actionFolding, maxSiblings, preventFolding);
}
/// <summary>
/// 根據(jù)傳入的參數(shù)和委托來(lái)計(jì)算并產(chǎn)生友好的頁(yè)碼。當(dāng)前頁(yè)碼、起始頁(yè)碼和終止頁(yè)碼都指定了專用的委托來(lái)處理。
/// </summary>
/// <param name="o"></param>
/// <param name="currentPage">當(dāng)前頁(yè)碼</param>
/// <param name="actionCurrent">處理當(dāng)前頁(yè)碼的方式</param>
/// <param name="beginPage">預(yù)設(shè)的起始頁(yè)碼</param>
/// <param name="endPage">預(yù)設(shè)的結(jié)束頁(yè)碼</param>
/// <param name="actionBegin">處理起始頁(yè)碼的方式</param>
/// <param name="actionEnd">處理結(jié)束頁(yè)碼的方式</param>
/// <param name="actionSebling">處理臨近頁(yè)碼的方式</param>
/// <param name="actionFolding">處理被折疊頁(yè)碼的方式</param>
/// <param name="maxSiblings">臨近頁(yè)碼的數(shù)量</param>
/// <param name="preventFolding">阻止折疊頁(yè)碼的臨界值,超過(guò)這個(gè)數(shù)目的頁(yè)碼將會(huì)被折疊</param>
public static void PageNumView(this object o,
long currentPage, PageNumAction actionCurrent,
long beginPage, long endPage,
PageNumAction actionBegin, PageNumAction actionEnd,
PageNumAction actionSebling, Action actionFolding,
long maxSiblings = 2, long preventFolding = 1)
{
o.PageNumView(
currentPage, actionCurrent,
beginPage, endPage,
actionBegin, actionEnd,
maxSiblings, actionSebling,
preventFolding, actionFolding,
maxSiblings, maxSiblings,
actionSebling, actionSebling
);
}
/// <summary>
/// 根據(jù)傳入的參數(shù)和委托來(lái)計(jì)算并產(chǎn)生友好的頁(yè)碼。每一種頁(yè)碼的具體處理方式都需要由調(diào)用方指派委托。
/// </summary>
/// <param name="o"></param>
/// <param name="currentPage">當(dāng)前頁(yè)碼</param>
/// <param name="actionCurrent">處理當(dāng)前頁(yè)碼的方式</param>
/// <param name="beginPage">預(yù)設(shè)的起始頁(yè)碼</param>
/// <param name="endPage">預(yù)設(shè)的結(jié)束頁(yè)碼</param>
/// <param name="actionBegin">處理起始頁(yè)碼的方式</param>
/// <param name="actionEnd">處理結(jié)束頁(yè)碼的方式</param>
/// <param name="currentSiblings">當(dāng)前頁(yè)碼的臨近頁(yè)碼數(shù)量</param>
/// <param name="actionCurrentSibling">處理臨近頁(yè)碼的方式</param>
/// <param name="preventFolding">阻止折疊頁(yè)碼的臨界值,超過(guò)這個(gè)數(shù)目的頁(yè)碼將會(huì)被折疊</param>
/// <param name="actionFolding">處理被折疊頁(yè)碼的方式</param>
/// <param name="endOfBegin">起始頁(yè)臨近頁(yè)碼的數(shù)量</param>
/// <param name="beginOfEnd">結(jié)束頁(yè)臨近頁(yè)碼的數(shù)量</param>
/// <param name="actionBeginSibling">處理起始頁(yè)臨近頁(yè)碼的方式</param>
/// <param name="actionEndSibling">處理結(jié)束頁(yè)臨近頁(yè)碼的方式</param>
public static void PageNumView(this object o,
long currentPage, PageNumAction actionCurrent,
long beginPage, long endPage,
PageNumAction actionBegin, PageNumAction actionEnd,
long currentSiblings, PageNumAction actionCurrentSibling,
long preventFolding, Action actionFolding,
long endOfBegin, long beginOfEnd,
PageNumAction actionBeginSibling, PageNumAction actionEndSibling
)
{
long i = beginPage;
// 如果起始頁(yè)小于當(dāng)前頁(yè),就開(kāi)始處理起始頁(yè)
if (beginPage < currentPage)
#region
{
actionBegin(beginPage);
i++;
endOfBegin += i; // 解決靠近起始頁(yè)的頁(yè)碼之后
var siblingBegin = currentPage - currentSiblings; // 當(dāng)前頁(yè)的臨近頁(yè)從何處開(kāi)始
var foldingStart = siblingBegin - preventFolding; // 頁(yè)碼折疊的底線
if (endOfBegin > siblingBegin)
endOfBegin = siblingBegin; // 保證當(dāng)前頁(yè)的臨近頁(yè),犧牲起始頁(yè)的臨近頁(yè)
for (; i < endOfBegin; i++)
actionBeginSibling(i);
if (i < foldingStart) // 如果還沒(méi)到達(dá)折疊底線,就馬上開(kāi)始折疊
{
actionFolding();
i = foldingStart + 1; // 跳到折疊之后的頁(yè)碼
}
}
#endregion
// 處理當(dāng)前頁(yè)之前的臨近頁(yè)
for (; i < currentPage; i++)
actionCurrentSibling(i);
// 處理當(dāng)前頁(yè)
actionCurrent(currentPage);
i = currentPage + 1; // 表示當(dāng)前頁(yè)已經(jīng)處理完成。
// 由于不能保證當(dāng)前頁(yè)和期望的起始頁(yè)的關(guān)系,所以在此從當(dāng)前頁(yè)開(kāi)始計(jì)算。
var goal = i + currentSiblings; // 設(shè)定一個(gè)目標(biāo)
if (goal > endPage) // 目標(biāo)不要超過(guò)結(jié)束頁(yè)
goal = endPage;
// 處理當(dāng)前頁(yè)之后的臨近頁(yè),直到到達(dá)目標(biāo)頁(yè)為止
for (; i < goal; i++)
actionCurrentSibling(i);
// 如果結(jié)束頁(yè)大于當(dāng)前頁(yè),就開(kāi)始處理結(jié)束頁(yè)
if (endPage > currentPage)
#region
{
beginOfEnd = endPage - beginOfEnd; // 計(jì)算出結(jié)束頁(yè)的臨近頁(yè)從何處開(kāi)始
var foldingStart = beginOfEnd - preventFolding;
if (i < foldingStart) // 沒(méi)有觸及折疊底線,馬上開(kāi)始折疊
{
actionFolding();
i = beginOfEnd;
}
else // 全部當(dāng)作當(dāng)前頁(yè)的臨近頁(yè)來(lái)處理,但保留結(jié)束頁(yè)的臨近頁(yè)
for (; i < beginOfEnd; i++)
actionCurrentSibling(i);

for (; i < endPage; i++)
actionEndSibling(i);
actionEnd(endPage);
}
#endregion
}
}

JavaScript版的源代碼可以直接在前面提到的頁(yè)面下載,不過(guò)這里也列出一下:
復(fù)制代碼 代碼如下:

!function () {
var g = this;
var def_maxSiblings = 2;
var def_preventFolding = 1;
function pnView1(
currentPage, actionPageNum, actionFolding,
maxSiblings, preventFolding
) {
/// <summary>
/// 使用傳入的委托計(jì)算并產(chǎn)生友好的頁(yè)碼。
/// </summary>
/// <param name="o"></param>
/// <param name="currentPage">當(dāng)前頁(yè)碼</param>
/// <param name="actionPageNum">處理頁(yè)碼的方式</param>
/// <param name="actionFolding">處理被折疊頁(yè)碼的方式</param>
/// <param name="maxSiblings">臨近頁(yè)碼的數(shù)量</param>
/// <param name="preventFolding">阻止折疊頁(yè)碼的臨界值,超過(guò)這個(gè)數(shù)目的頁(yè)碼將會(huì)被折疊</param>
pnView2(currentPage, actionPageNum, actionPageNum, actionFolding, maxSiblings || def_maxSiblings, preventFolding || def_preventFolding);
}
function pnView2(
currentPage, actionCurrent,
actionPageNum, actionFolding,
maxSiblings, preventFolding
) {
/// <summary>
/// 使用傳入的委托計(jì)算并產(chǎn)生友好的頁(yè)碼。當(dāng)前頁(yè)碼將會(huì)被特別對(duì)待。
/// </summary>
/// <param name="o"></param>
/// <param name="currentPage">當(dāng)前頁(yè)碼</param>
/// <param name="actionCurrent">處理當(dāng)前頁(yè)碼的方式</param>
/// <param name="actionPageNum">處理頁(yè)碼的方式</param>
/// <param name="actionFolding">處理被折疊頁(yè)碼的方式</param>
/// <param name="maxSiblings">臨近頁(yè)碼的數(shù)量</param>
/// <param name="preventFolding">阻止折疊頁(yè)碼的臨界值,超過(guò)這個(gè)數(shù)目的頁(yè)碼將會(huì)被折疊</param>
pnView(
currentPage, actionCurrent,
1, Number.POSITIVE_INFINITY,
actionPageNum, null,
maxSiblings || def_maxSiblings, actionPageNum,
preventFolding || def_preventFolding, actionFolding,
maxSiblings || def_maxSiblings, 0,
actionPageNum, null
);
}
function pnView3(
currentPage, actionCurrent,
beginPage, endPage,
actionPageNum, actionFolding,
maxSiblings, preventFolding
) {
/// <summary>
/// 根據(jù)傳入的參數(shù)和委托來(lái)計(jì)算并產(chǎn)生友好的頁(yè)碼。當(dāng)前頁(yè)碼將會(huì)被特別對(duì)待。
/// </summary>
/// <param name="o"></param>
/// <param name="currentPage">當(dāng)前頁(yè)碼</param>
/// <param name="actionCurrent">處理當(dāng)前頁(yè)碼的方式</param>
/// <param name="beginPage">預(yù)設(shè)的起始頁(yè)碼</param>
/// <param name="endPage">預(yù)設(shè)的結(jié)束頁(yè)碼</param>
/// <param name="actionPageNum">處理頁(yè)碼的方式</param>
/// <param name="actionFolding">處理被折疊頁(yè)碼的方式</param>
/// <param name="maxSiblings">臨近頁(yè)碼的數(shù)量</param>
/// <param name="preventFolding">阻止折疊頁(yè)碼的臨界值,超過(guò)這個(gè)數(shù)目的頁(yè)碼將會(huì)被折疊</param>
pnView4(currentPage, actionCurrent, beginPage, endPage, actionPageNum, actionPageNum, actionPageNum, actionFolding, maxSiblings || def_maxSiblings, preventFolding || def_preventFolding);
}
function pnView4(
currentPage, actionCurrent,
beginPage, endPage,
actionBegin, actionEnd,
actionSebling, actionFolding,
maxSiblings, preventFolding
) {
/// <summary>
/// 根據(jù)傳入的參數(shù)和委托來(lái)計(jì)算并產(chǎn)生友好的頁(yè)碼。當(dāng)前頁(yè)碼、起始頁(yè)碼和終止頁(yè)碼都指定了專用的委托來(lái)處理。
/// </summary>
/// <param name="o"></param>
/// <param name="currentPage">當(dāng)前頁(yè)碼</param>
/// <param name="actionCurrent">處理當(dāng)前頁(yè)碼的方式</param>
/// <param name="beginPage">預(yù)設(shè)的起始頁(yè)碼</param>
/// <param name="endPage">預(yù)設(shè)的結(jié)束頁(yè)碼</param>
/// <param name="actionBegin">處理起始頁(yè)碼的方式</param>
/// <param name="actionEnd">處理結(jié)束頁(yè)碼的方式</param>
/// <param name="actionSebling">處理臨近頁(yè)碼的方式</param>
/// <param name="actionFolding">處理被折疊頁(yè)碼的方式</param>
/// <param name="maxSiblings">臨近頁(yè)碼的數(shù)量</param>
/// <param name="preventFolding">阻止折疊頁(yè)碼的臨界值,超過(guò)這個(gè)數(shù)目的頁(yè)碼將會(huì)被折疊</param>
pnView(
currentPage, actionCurrent,
beginPage, endPage,
actionBegin, actionEnd,
maxSiblings || def_maxSiblings, actionSebling,
preventFolding || def_preventFolding, actionFolding,
maxSiblings || def_maxSiblings, maxSiblings || def_maxSiblings,
actionSebling, actionSebling
);
}
function pnView(
currentPage, actionCurrent,
beginPage, endPage,
actionBegin, actionEnd,
currentSiblings, actionCurrentSibling,
preventFolding, actionFolding,
endOfBegin, beginOfEnd,
actionBeginSibling, actionEndSibling
) {
/// <summary>
/// 根據(jù)傳入的參數(shù)和委托來(lái)計(jì)算并產(chǎn)生友好的頁(yè)碼。每一種頁(yè)碼的具體處理方式都需要由調(diào)用方指派委托。
/// </summary>
/// <param name="o"></param>
/// <param name="currentPage">當(dāng)前頁(yè)碼</param>
/// <param name="actionCurrent">處理當(dāng)前頁(yè)碼的方式</param>
/// <param name="beginPage">預(yù)設(shè)的起始頁(yè)碼</param>
/// <param name="endPage">預(yù)設(shè)的結(jié)束頁(yè)碼</param>
/// <param name="actionBegin">處理起始頁(yè)碼的方式</param>
/// <param name="actionEnd">處理結(jié)束頁(yè)碼的方式</param>
/// <param name="currentSiblings">當(dāng)前頁(yè)碼的臨近頁(yè)碼數(shù)量</param>
/// <param name="actionCurrentSibling">處理臨近頁(yè)碼的方式</param>
/// <param name="preventFolding">阻止折疊頁(yè)碼的臨界值,超過(guò)這個(gè)數(shù)目的頁(yè)碼將會(huì)被折疊</param>
/// <param name="actionFolding">處理被折疊頁(yè)碼的方式</param>
/// <param name="endOfBegin">起始頁(yè)臨近頁(yè)碼的數(shù)量</param>
/// <param name="beginOfEnd">結(jié)束頁(yè)臨近頁(yè)碼的數(shù)量</param>
/// <param name="actionBeginSibling">處理起始頁(yè)臨近頁(yè)碼的方式</param>
/// <param name="actionEndSibling">處理結(jié)束頁(yè)臨近頁(yè)碼的方式</param>
var i = beginPage;
// 如果起始頁(yè)小于當(dāng)前頁(yè),就開(kāi)始處理起始頁(yè)
if (beginPage < currentPage) {
actionBegin && actionBegin(beginPage);
i++;
endOfBegin += i; // 解決靠近起始頁(yè)的頁(yè)碼之后
var siblingBegin = currentPage - currentSiblings; // 當(dāng)前頁(yè)的臨近頁(yè)從何處開(kāi)始
var foldingStart = siblingBegin - preventFolding; // 頁(yè)碼折疊的底線
if (endOfBegin > siblingBegin)
endOfBegin = siblingBegin; // 保證當(dāng)前頁(yè)的臨近頁(yè),犧牲起始頁(yè)的臨近頁(yè)
for (; i < endOfBegin; i++)
actionBeginSibling && actionBeginSibling(i);
if (i < foldingStart) // 如果還沒(méi)到達(dá)折疊底線,就馬上開(kāi)始折疊
{
actionFolding && actionFolding();
i = foldingStart + 1; // 跳到折疊之后的頁(yè)碼
}
}
// 處理當(dāng)前頁(yè)之前的臨近頁(yè)
for (; i < currentPage; i++)
actionCurrentSibling && actionCurrentSibling(i);
// 處理當(dāng)前頁(yè)
actionCurrent && actionCurrent(currentPage);
i = currentPage + 1; // 表示當(dāng)前頁(yè)已經(jīng)處理完成。
// 由于不能保證當(dāng)前頁(yè)和期望的起始頁(yè)的關(guān)系,所以在此從當(dāng)前頁(yè)開(kāi)始計(jì)算。
var goal = i + currentSiblings; // 設(shè)定一個(gè)目標(biāo)
if (goal > endPage) // 目標(biāo)不要超過(guò)結(jié)束頁(yè)
goal = endPage;
// 處理當(dāng)前頁(yè)之后的臨近頁(yè),直到到達(dá)目標(biāo)頁(yè)為止
for (; i < goal; i++)
actionCurrentSibling && actionCurrentSibling(i);
// 如果結(jié)束頁(yè)大于當(dāng)前頁(yè),就開(kāi)始處理結(jié)束頁(yè)
if (endPage > currentPage) {
beginOfEnd = endPage - beginOfEnd; // 計(jì)算出結(jié)束頁(yè)的臨近頁(yè)從何處開(kāi)始
var foldingStart = beginOfEnd - preventFolding;
if (i < foldingStart) // 沒(méi)有觸及折疊底線,馬上開(kāi)始折疊
{
actionFolding && actionFolding();
i = beginOfEnd;
}
else // 全部當(dāng)作當(dāng)前頁(yè)的臨近頁(yè)來(lái)處理,但保留結(jié)束頁(yè)的臨近頁(yè)
{
for (; i < beginOfEnd; i++)
actionCurrentSibling && actionCurrentSibling(i);
}

for (; i < endPage; i++)
actionEndSibling && actionEndSibling(i);
actionEnd && actionEnd(endPage);
}
}
g.pnView1 = pnView1;
g.pnView2 = pnView2;
g.pnView3 = pnView3;
g.pnView4 = pnView4;
g.pnView5 = pnView;
g.pnView = pnView;
} ();

/201009/yuanma/pnView_NanaView.rar

相關(guān)文章

最新評(píng)論