Eine Klasse für die Seitenverarbeitung wie "Goooooooooogle". Wenn Sie die Gesamtzahl der Elemente, die Anzahl der Elemente pro Seite und die Anzahl der Seiten, die gleichzeitig im Konstruktor angezeigt werden sollen, übergeben und die aktuell in der Inhaltsmethode angezeigte Seite übergeben, wird die minimale Anzahl von Seiten in min und die maximale Anzahl von Seiten in max zurückgegeben. Kommen Sie. Ich möchte eleganter schreiben.
#coding:utf-8
'''
Created on 2012/09/23
@author: fumix
'''
class Pager():
'''
Seitenverarbeitungsklasse
'''
def __init__(self,total,page,width):
'''
Constructor
'''
self.total = total
self.page = page
self.width = width
def content(self,current):
#Maximale Anzahl Seiten
max_pagecount = self.total / self.page + 1
#Maximale Anzahl Seiten<Wenn die Anzahl der angezeigten Seiten
if max_pagecount < self.width:
min = 1
max = max_pagecount
#Maximale Anzahl Seiten<Aktuelle Seite+Bei der Hälfte der angezeigten Seiten
elif max_pagecount < current + self.width / 2 :
min = current - self.width / 2
max = max_pagecount
#Aktuelle Seite-Die Hälfte der angezeigten Seiten<Wenn 1
elif current - self.width / 2 < 1:
min = 1
max = self.width
#anders als das
else:
min = current - self.width / 2
max = current + self.width / 2
return {'min':min,'max':max}
def _test():
page = Pager(532, 20, 10)
print page.content(22)
if __name__ == '__main__':
_test()