1, 事件 滾動事件監聽 2, 分頁

2022-07-11 06:09:08 字數 2435 閱讀 1099

windows.onscroll(function())
class pagination(object):

"""自定義分頁(bootstrap版)"""

def __init__(self, current_page, total_count, base_url, per_page=10, max_show=11):

""":param current_page: 當前請求的頁碼

:param total_count: 總資料量

:param base_url: 請求的url

:param per_page: 每頁顯示的資料量,預設值為10

:param max_show: 頁面上最多顯示多少個頁碼,預設值為11

"""try:

self.current_page = int(current_page)

except exception as e:

# 取不到或者頁碼數不是數字都預設展示第1頁

self.current_page = 1

# 定義每頁顯示多少條資料

self.per_page = per_page

# 計算出總頁碼數

total_page, more = divmod(total_count, per_page)

if more:

total_page += 1

self.total_page = total_page

# 定義頁面上最多顯示多少頁碼(為了左右對稱,一般設為奇數)

self.max_show = max_show

self.half_show = max_show // 2

self.base_url = base_url

@property

def start(self):

return (self.current_page-1) * self.per_page

@property

def end(self):

return self.current_page * self.per_page

def page_html(self):

# 計算一下頁面顯示的頁碼範圍

if self.total_page <= self.max_show: # 總頁碼數小於最大顯示頁碼數

page_start = 1

page_end = self.total_page

elif self.current_page + self.half_show >= self.total_page: # 右邊越界

page_end = self.total_page

page_start = self.total_page - self.max_show

elif self.current_page - self.half_show <= 1: # 左邊越界

page_start = 1

page_end = self.max_show

else: # 正常頁碼區間

page_start = self.current_page - self.half_show

page_end = self.current_page + self.half_show

# 生成頁面上顯示的頁碼

page_html_list =

# 加首頁

first_li = '首頁

'.format(self.base_url)

if self.current_page == 1:

prev_li = '«

' else:

prev_li = '«

'.format(

self.base_url, self.current_page - 1)

for i in range(page_start, page_end + 1):

if i == self.current_page:

li_tag = '

'.format(self.base_url, i)

else:

li_tag = '

'.format(self.base_url, i)

if self.current_page == self.total_page:

next_li = '»

' else:

next_li = '»

'.format(

self.base_url, self.current_page + 1)

# 加尾頁

page_end_li = '尾頁

'.format(self.base_url, self.total_page)

') return "".join(page_html_list)

監聽滾動事件

1.vue元件新增滾動事件 export default methods 計算滾動盒子高度 移動端中滾動框的高度受裝置的影響,由於移動端中使用rem的緣故,因此高度是不定的,所以計算高度是不可少的。一般使用 document.getelementbyid div offsetheight docum...

vue監聽滾動事件

vue中監聽滾動事件,然後對其進行事件處理,一般有 1.滾動到頂部吸附 2.根據滾動的位置啟用對應的tab鍵 錨鏈結tab鍵 這兩種方式的處理都是可通過監聽scroll來實現 mounted 處理方法 1.滾動到頂部吸附 html元素 這個是要滾動到頂部吸附的元素 methods方法 handles...

監聽滾動條事件

今天遇到需要監聽滾動條事件的問題,本來以為是乙個簡單的監聽就好了,哪成想,這麼多bug,說到底還是自己基礎不紮實,所以趁現在下班沒事把它記錄下來。以備後續所需,哈哈。1 首先是最基本的監聽事件 methods mounted mounted 後面的 true 則是第三個引數然後就可以出來了 下圖便是...