|
@@ -149,7 +149,11 @@
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="home-guide-workbuddy-right">
|
|
<div class="home-guide-workbuddy-right">
|
|
|
- <div class="home-guide-workbuddy-carousel">
|
|
|
|
|
|
|
+ <div
|
|
|
|
|
+ class="home-guide-workbuddy-carousel"
|
|
|
|
|
+ @mouseenter="pauseWorkbuddyAutoScroll"
|
|
|
|
|
+ @mouseleave="resumeWorkbuddyAutoScroll"
|
|
|
|
|
+ >
|
|
|
<div
|
|
<div
|
|
|
class="home-guide-workbuddy-track"
|
|
class="home-guide-workbuddy-track"
|
|
|
:style="{ transform: `translateX(-${workbuddySlideIndex * 100}%)` }"
|
|
:style="{ transform: `translateX(-${workbuddySlideIndex * 100}%)` }"
|
|
@@ -682,6 +686,7 @@ const guideAccessTab = ref("mcp");
|
|
|
const guideToolTab = ref("qianwen");
|
|
const guideToolTab = ref("qianwen");
|
|
|
const workbuddySlideIndex = ref(0);
|
|
const workbuddySlideIndex = ref(0);
|
|
|
let workbuddyAutoScrollTimer = null;
|
|
let workbuddyAutoScrollTimer = null;
|
|
|
|
|
+let workbuddyAutoScrollPaused = false;
|
|
|
|
|
|
|
|
const setWorkbuddySlide = (index) => {
|
|
const setWorkbuddySlide = (index) => {
|
|
|
const total = 2;
|
|
const total = 2;
|
|
@@ -690,20 +695,29 @@ const setWorkbuddySlide = (index) => {
|
|
|
|
|
|
|
|
const stopWorkbuddyAutoScroll = () => {
|
|
const stopWorkbuddyAutoScroll = () => {
|
|
|
if (workbuddyAutoScrollTimer != null) {
|
|
if (workbuddyAutoScrollTimer != null) {
|
|
|
- clearTimeout(workbuddyAutoScrollTimer);
|
|
|
|
|
|
|
+ clearInterval(workbuddyAutoScrollTimer);
|
|
|
workbuddyAutoScrollTimer = null;
|
|
workbuddyAutoScrollTimer = null;
|
|
|
}
|
|
}
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
const startWorkbuddyAutoScroll = () => {
|
|
const startWorkbuddyAutoScroll = () => {
|
|
|
stopWorkbuddyAutoScroll();
|
|
stopWorkbuddyAutoScroll();
|
|
|
|
|
+ workbuddyAutoScrollPaused = false;
|
|
|
workbuddySlideIndex.value = 0;
|
|
workbuddySlideIndex.value = 0;
|
|
|
- workbuddyAutoScrollTimer = setTimeout(() => {
|
|
|
|
|
- workbuddyAutoScrollTimer = null;
|
|
|
|
|
- workbuddySlideIndex.value = 1;
|
|
|
|
|
|
|
+ workbuddyAutoScrollTimer = setInterval(() => {
|
|
|
|
|
+ if (workbuddyAutoScrollPaused) return;
|
|
|
|
|
+ setWorkbuddySlide(workbuddySlideIndex.value + 1);
|
|
|
}, 3000);
|
|
}, 3000);
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
|
|
+const pauseWorkbuddyAutoScroll = () => {
|
|
|
|
|
+ workbuddyAutoScrollPaused = true;
|
|
|
|
|
+};
|
|
|
|
|
+
|
|
|
|
|
+const resumeWorkbuddyAutoScroll = () => {
|
|
|
|
|
+ workbuddyAutoScrollPaused = false;
|
|
|
|
|
+};
|
|
|
|
|
+
|
|
|
watch(
|
|
watch(
|
|
|
[guideAccessTab, guideToolTab],
|
|
[guideAccessTab, guideToolTab],
|
|
|
([accessTab, toolTab]) => {
|
|
([accessTab, toolTab]) => {
|