server/aspnetapp/wwwroot/lib/swiper/src/components/history/history.js
(开头部分) 3KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
import { window } from 'ssr-window';
import Utils from '../../utils/utils';
const History = {
init() {
const swiper = this;
if (!swiper.params.history) return;
if (!window.history || !window.history.pushState) {
swiper.params.history.enabled = false;
swiper.params.hashNavigation.enabled = true;
return;
}
const history = swiper.history;
history.initialized = true;
history.paths = History.getPathValues();
if (!history.paths.key && !history.paths.value) return;
history.scrollToSlide(0, history.paths.value, swiper.params.runCallbacksOnInit);
if (!swiper.params.history.replaceState) {
window.addEventListener('popstate', swiper.history.setHistoryPopState);
}
},
destroy() {
const swiper = this;
if (!swiper.params.history.replaceState) {
window.removeEventListener('popstate', swiper.history.setHistoryPopState);
}
},
setHistoryPopState() {
const swiper = this;
swiper.history.paths = History.getPathValues();
swiper.history.scrollToSlide(swiper.params.speed, swiper.history.paths.value, false);
},
getPathValues() {
const pathArray = window.location.pathname.slice(1).split('/').filter((part) => part !== '');
const total = pathArray.length;
const key = pathArray[total - 2];
const value = pathArray[total - 1];
return { key, value };
},
setHistory(key, index) {
const swiper = this;
if (!swiper.history.initialized || !swiper.params.history.enabled) return;
const slide = swiper.slides.eq(index);
let value = History.slugify(slide.attr('data-history'));
if (!window.location.pathname.includes(key)) {
value = `${key}/${value}`;
}
const currentState = window.history.state;
if (currentState && currentState.value === value) {
return;
}
if (swiper.params.history.replaceState) {
window.history.replaceState({ value }, null, value);
} else {
window.history.pushState({ value }, null, value);
}
},
slugify(text) {
return text.toString()
.replace(/\s+/g, '-')
后面还有 70 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。