function updateDepth(book, newPage) { var page = book.turn('page'), pages = book.turn('pages'), depthWidth = 16*Math.min(1, page*2/pages); newPage = newPage || page; if (newPage>3) $('.sj-book .p2 .depth').css({ width: depthWidth, left: 20 - depthWidth }); else $('.sj-book .p2 .depth').css({width: 0}); depthWidth = 16*Math.min(1, (pages-page)*2/pages); if (newPage<pages-3) $('.sj-book .p111 .depth').css({ width: depthWidth, right: 20 - depthWidth }); else $('.sj-book .p111 .depth').css({width: 0}); }
时间: 2024-04-17 15:29:49 浏览: 85
updateBook.jsp
这段代码定义了一个名为 `updateDepth` 的函数,用于更新深度(depth)效果。
函数接受两个参数:`book` 和 `newPage`。其中,`book` 是一个表示书籍的元素,`newPage` 是一个可选参数,表示要更新到的新页码,默认为当前页码。
以下是代码的功能解释:
1. 首先,获取当前页码(`page`)和总页数(`pages`)。
2. 根据当前页码计算深度宽度(`depthWidth`),其中 `16*Math.min(1, page*2/pages)` 表示深度宽度的计算公式。
3. 如果 `newPage` 大于3,则设置 `.sj-book .p2 .depth` 元素的宽度和左边距,以展示深度效果。
4. 如果 `newPage` 小于等于3,则将 `.sj-book .p2 .depth` 元素的宽度设为0,隐藏深度效果。
5. 再次计算深度宽度(`depthWidth`),这次是根据剩余页数和总页数计算。
6. 如果 `newPage` 小于总页数减去3,则设置 `.sj-book .p111 .depth` 元素的宽度和右边距,以展示深度效果。
7. 如果 `newPage` 大于等于总页数减去3,则将 `.sj-book .p111 .depth` 元素的宽度设为0,隐藏深度效果。
这段代码的作用是根据当前页码和总页数来更新书籍的深度效果,通过设置相应元素的宽度和边距来展示或隐藏深度效果。
阅读全文