Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
P
pic-reader
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
龙菲
pic-reader
Commits
5067e28f
提交
5067e28f
authored
6月 26, 2025
作者:
搞事情
浏览文件
操作
浏览文件
下载
差异文件
1、合并本地代码
上级
a6122880
7d3a0936
隐藏空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
44 行增加
和
34 行删除
+44
-34
turn.js
src/assets/js/turn.js
+44
-34
没有找到文件。
src/assets/js/turn.js
浏览文件 @
5067e28f
...
...
@@ -1300,22 +1300,22 @@
var
isLeftPage
=
data
.
opts
.
page
%
2
===
0
;
if
(
isLeftPage
)
{
// 左页
:只能向右滑动
// 左页
virtualCorner
=
(
point
.
y
<
height
/
2
)
?
'tl'
:
'bl'
;
}
else
{
// 右页
:只能向左滑动
// 右页
virtualCorner
=
(
point
.
y
<
height
/
2
)
?
'tr'
:
'br'
;
}
}
else
{
// 单页模式
:左半区只能左滑,右半区只能右滑
// 单页模式
var
centerX
=
width
/
2
;
var
centerY
=
height
/
2
;
if
(
point
.
x
<
centerX
)
{
// 左半区
:只能向左翻页
// 左半区
virtualCorner
=
(
point
.
y
<
centerY
)
?
'tl'
:
'bl'
;
}
else
{
// 右半区
:只能向右翻页
// 右半区
virtualCorner
=
(
point
.
y
<
centerY
)
?
'tr'
:
'br'
;
}
}
...
...
@@ -1334,7 +1334,7 @@
// 添加区域信息,用于判断是否应该显示折叠页动画
dragArea
:
turnData
&&
turnData
.
display
===
'double'
?
(
data
.
opts
.
page
%
2
===
0
?
'leftPage'
:
'rightPage'
)
:
(
point
.
x
<
width
/
2
?
'left
Half'
:
'rightHalf
'
)
(
point
.
x
<
width
/
2
?
'left
'
:
'right
'
)
};
}
...
...
@@ -1353,6 +1353,7 @@
x
:
virtualPoint
.
x
,
y
:
virtualPoint
.
y
,
isVirtual
:
true
,
dragArea
:
virtualPoint
.
dragArea
,
originalPoint
:
virtualPoint
.
originalPoint
,
realCorner
:
realCorner
,
dragStartX
:
virtualPoint
.
dragStartX
,
...
...
@@ -1733,7 +1734,6 @@
_moveFoldingPage
:
function
(
bool
)
{
console
.
log
(
'_moveFoldingPage'
,
bool
);
var
data
=
this
.
data
().
f
,
folding
=
flipMethods
.
_foldingPage
.
call
(
this
);
...
...
@@ -1754,7 +1754,6 @@
_showFoldedPage
:
function
(
c
,
animate
)
{
console
.
log
(
'_showFoldedPage'
,
c
);
var
folding
=
flipMethods
.
_foldingPage
.
call
(
this
),
dd
=
this
.
data
(),
data
=
dd
.
f
;
...
...
@@ -1935,41 +1934,49 @@
e
=
(
isTouch
)
?
e
.
originalEvent
.
touches
:
[
e
];
if
(
data
.
corner
)
{
var
pos
=
data
.
parent
.
offset
();
var
currentMouseX
=
e
[
0
].
pageX
-
pos
.
left
;
var
currentMouseY
=
e
[
0
].
pageY
-
pos
.
top
;
let
pos
=
data
.
parent
.
offset
();
let
currentMouseX
=
e
[
0
].
pageX
-
pos
.
left
;
let
currentMouseY
=
e
[
0
].
pageY
-
pos
.
top
;
// 检查是否是虚拟corner(非corner区域拖拽)
if
(
data
.
corner
.
isVirtual
)
{
// 计算拖动距离
var
dragDistance
=
Math
.
sqrt
(
Math
.
pow
(
currentMouseX
-
data
.
corner
.
dragStartX
,
2
)
+
Math
.
pow
(
currentMouseY
-
data
.
corner
.
dragStartY
,
2
)
);
// 计算拖动距离,提高效率,只使用
let
dragDistance
=
Math
.
abs
(
currentMouseX
-
data
.
corner
.
dragStartX
);
// 最小拖动距离阈值
var
minDragDistance
=
data
.
opts
.
minDragDistance
||
30
;
let
minDragDistance
=
data
.
opts
.
minDragDistance
||
30
;
if
(
dragDistance
<
minDragDistance
)
{
// 拖动距离太小,不执行翻页效果
return
;
}
// todo解决单页翻页的问题
// else {
// // 单页特殊处理
// if (data.opts.display === 'single') {
// // 判断滑动方向,判断在左右半区,同向滑动直接翻页不播放翻页特效。
// if (currentMouseX - data.corner.dragStartX > 0) {
// // 向右滑动
// turnMethods.next();
// } else {
// // 向左滑动
// turnMethods.previous();
// }
// }
// return;
// }
else
{
// 单页特殊处理
if
(
data
.
opts
.
display
===
'single'
)
{
// 判断滑动方向,判断在左右半区,同向滑动直接翻页不播放翻页特效。
let
direction
=
currentMouseX
-
data
.
corner
.
dragStartX
>
0
?
'right'
:
'left'
;
// 方向
if
(
direction
===
data
.
corner
.
dragArea
)
{
if
(
direction
===
'right'
)
{
// 向右翻页
// 设置翻页从左下角开始
data
.
corner
.
corner
=
'bl'
;
this
.
turn
(
'next'
);
}
else
{
// 向左翻页
// 设置翻页从右下角开始
data
.
corner
.
corner
=
'br'
;
this
.
turn
(
'previous'
);
}
// 清理操作
data
.
corner
.
isVirtual
=
false
;
data
.
corner
.
dragStartX
=
0
;
data
.
corner
.
dragStartY
=
0
;
return
;
}
}
}
// 根据拖动轨迹计算真实的折叠点
var
foldPoint
=
flipMethods
.
_calculateNonCornerFoldPoint
.
call
(
this
,
...
...
@@ -1987,6 +1994,8 @@
flipMethods
.
_showFoldedPage
.
call
(
this
,
data
.
corner
);
}
else
if
(
!
this
.
data
().
effect
&&
this
.
is
(
':visible'
))
{
// roll over
// 注释掉悬停效果,避免模糊,代价是鼠标悬停没有卷边效果,代价值得。
/*
var corner = flipMethods._areaActivated.call(this, e[0]);
if (corner) {
var origin = flipMethods._c.call(this, corner.corner, data.opts.cornerSize / 2);
...
...
@@ -1996,6 +2005,7 @@
}
else
flipMethods.hideFoldedPage.call(this, true);
*/
}
}
},
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论