ホームページ  >  記事  >  ウェブフロントエンド  >  ページ番号をサポートする JavaScript ページング クラス format_javascript スキル Jpage Demo - by Funnyzak

ページ番号をサポートする JavaScript ページング クラス format_javascript スキル Jpage Demo - by Funnyzak

PHP中文网
PHP中文网オリジナル
2016-05-16 18:39:461636ブラウズ

プロジェクトのニーズにより、フロントエンド時間はページングでプロダクトの下に添付されたすべての画像を表示する必要があるため、Ajax リクエストは 1 つずつ考慮されないため、単純にすべての画像を一度に出力してからページングを実行します。ロード時に

を実装したオンライン JQuery、プロパティなどが多数ありますが、それらのプラグインには不要な補助関数が多数あり、そのような目的のためだけにこのライブラリを参照する必要はありません。もちろん、サーバーが優れているかどうかは関係ありませんが、実際にはこの効果は必要ありませんが、一般的に使用されると思うので、将来の使用のためにカテゴリにパッケージ化されています。そしてそれを必要とする人が学び、使用できるようにします。

以下は簡単なデモです。ページ番号のスタイルはデフォルトの形式で編集できます。これ以上ナンセンスではありません。自分で読んでください。注釈付きの使用説明書があります。 。 。クラス (3kb) を使用するには、デモを参照することができます。使い方がわからない場合は、メッセージを残すことができます。

今後は、プロジェクト開発でよくある問題とその解決策を少しずつ書き留めて、皆さんと共有していきたいと思います。
ページ番号をサポートする JavaScript ページング クラス format_javascript スキル Jpage Demo - by Funnyzak
jpage.js

/* 排序工具 by Funny ZAk <silenceacegmail.com> 2009-8-23 
"调用方式 var zp = new zakPage(参数);zp.init(); 
参数以此为 源内容容器,分页结果容器,导航容器,页大小,单挑内容回调函数返回li对象,每个li的样式,选择后的样式没有则为null或"" 
,默认起始页数,格式化页码显示格式*/ 
function zakPage(id,pagec,navid,pagesize,lievt,ds,ss,idx,navp){ 
    this.obj = this; 
    this.pageid = id; 
    this.pagec = pagec; 
    this.navc = navid; 
    this.pagesize = pagesize || 7; 
    this.lievt = lievt || null; 
    this.rcount = 0; 
    this.pagecount = 0; 
    this.cpage = 1; 
    this.ds = ds; 
    if(this.ds == null){this.ds = "";} 
    this.ss = ss; 
    if(this.ss == null){this.ss = "";} 
    this.idx = idx; 
    this.navpre = navp || ["共{$pcount}页/{$rcount}条,当前第{cpage}页","首页","上一页","下一页","末页"]; 
    } 
zakPage.prototype = { 
    init:function(){ 
        document.getElementById(this.pageid).style.display = "none"; 
        this.rcount = document.getElementById(this.pageid).getElementsByTagName("li").length; 
        var residue = this.rcount%this.pagesize; 
        var nums = parseInt(this.rcount/this.pagesize); 
        this.pagecount = nums; 
        if(residue != 0){this.pagecount = nums+1;} 
        this.gopage(this.idx); 
        }, 
    guide:function(){ 
        var nav = document.getElementById(this.navc); 
        var np = this.navpre; 
        nav.innerHTML = np[0].replace("{$rcount}",this.rcount).replace("{$pcount}",this.pagecount).replace("{cpage}",this.cpage); 
        nav.appendChild(this.createa(np[1],1)); 
        nav.appendChild(this.createa(np[2],this.cpage-1)); 
        nav.appendChild(this.createa(np[3],this.cpage+1)); 
        nav.appendChild(this.createa(np[4],this.pagecount)); 
        }, 
    createa:function(html,index){ 
        var aa = document.createElement("a"); 
        aa.innerHTML = html; 
        var o = this.obj; 
        aa.onclick = function(){o.gopage(index);} 
        return aa; 
        }, 
    gopage:function(index){ 
        if(index>this.pagecount){index=1;} 
        if(index<=0){index = this.pagecount;} 
        this.cpage = index; 
        var ghtml = document.getElementById(this.pagec); 
        ghtml.innerHTML = ""; 
        var pages = (index-1)*this.pagesize; 
        var pagee = pages+this.pagesize; 
        if(pagee>this.rcount){pagee = this.rcount;} 
        for(var i=pages;i<pagee;i++){ 
                var lil = document.createElement("li"); 
                lil.className = this.ds; 
                lil.innerHTML = this.litem(i); 
                var sss = this.ss; 
                if(this.lievt !=null){ 
                    lil.lievt = this.lievt; 
                    lil.onclick = function(){ 
                        this.lievt(this); 
                        this.className = sss; 
                        } 
                    } 
                ghtml.appendChild(lil); 
            } 
         this.guide(); 
        }, 
    litem:function(index){ 
            return document.getElementById(this.pageid).getElementsByTagName("li")[index].innerHTML; 
        } 
    }


以下は完全なテスト コードです。js が含まれています

 
 
 
 
 
Jpage Demo - by funnyzak 
 
 
 
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。