我想在 javascript/jQuery 中做 3 件事。
为每个项目创建一个 URL(我目前使用 location.hash)
根据提供的 URL 更改当前项目(我目前正在使用 location.hash 并访问幻灯片编号)
确保缩略图/幻灯片都根据 URL 进行更改
我遇到了一些问题,我相信我可以解决。但是,我不确定我是否会以最合乎逻辑/最有效的方式来解决这个问题。这是我当前的功能:
function slideUrl(el) {
var current = this.currentItem;
var slide = location.hash;
if(location.hash === '') {
location.hash = 'slide' + current;
} else {
var goToSlide = slide.replace("#slide","");
sync1.trigger("owl.jumpTo", goToSlide);
el.find(".owl-item").eq(goToSlide).addClass("synced");
sync2.trigger("owl.jumpTo", goToSlide);
this.currentItem = goToSlide;
console.log(this.currentItem);
}
}
我遇到的问题包括:
当前项目没有改变,所以如果我转到提供的 URL(比如幻灯片 9)并单击下一步,幻灯片将转到 1 与 10 - 因为它认为它在幻灯片 0 上。
我不确定这是否是一个问题,但我相信如果我将 url - /demos/sync.html#slide2 更改为 /demos/sync.html#slide3,我必须刷新两次。
任何帮助/更好的想法都会非常有帮助!