我一直在做研究,但我就是找不到可行的解决方案。我在一个网站上工作,我在主页上有3个幻灯片的幻灯片旋转木马。链接到相同activity.html的幻灯片中有2张只是指向不同的“标签”/“卡片”。一张来自主页的幻灯片打开activities.html页面上的活动“选项卡”/“卡片”,另一张幻灯片使用localStorage打开咨询“选项卡”/“卡片”。在PC上运行良好,但的问题是:
这在我的iPhone上不起作用。经过我的研究,我发现这是私人的..不管是什么..。关于野生动物园的问题。我尝试过使用store.js、memorystorage.js、Coockies.js和其他一些工具。他们都没帮上忙。尝试使用querystring和hash,但问题是这些字符串仍然在url中。我迫切需要为这个烦人的问题找到一个解决方案。
我使用的逻辑很简单:在按下滑动按钮时,我将项目设置到主js文件的localStorage中。在activities.html中,我有一个小脚本,我从localstorage获取项目,然后检查两个项目中的哪一个在本地存储中。如果是旅游,那么打开旅游的'tab'/'card‘如果是咨询等,你就明白了…此脚本位于主js文件中:
(function() {
const travelSlideBtn = $("a#slide2-btn");
const consultationSlide = $("a#slide3-btn");
function setTravelSlide() {
localStorage.setItem("travelSlide", "travelSlide");
}
function setConsultationSlide() {
localStorage.setItem("consultationSlide", "consultationSlide");
}
//Events
travelSlideBtn.on('click', setTravelSlide);
consultationSlide.on('click', setConsultationSlide)
}());
和该脚本位于activities.html页面中:
let travelSlide = localStorage.getItem("travelSlide");
let consultationSlide = localStorage.getItem("consultationSlide");
const thumbnail = $(".thumbnail");
const travelThumbnail = $(".travel-thumbnail");
const consultationThumbnail = $(".consultation-thumbnail");
let thumbnailOffsetTop = thumbnail.offset().top - $("#main-header").height();
if ('localStorage' in window && window.localStorage !== null) {
if (travelSlide == "travelSlide") {
TweenMax.to(window, 1, {scrollTo:{y:thumbnailOffsetTop, ease: Power4.easeOut}, onComplete:function(){
travelThumbnail.click();
localStorage.removeItem("travelSlide");
}});
}
if (consultationSlide == "consultationSlide") {
TweenMax.to(window, 1, {scrollTo:{y:thumbnailOffsetTop, ease: Power4.easeOut}, onComplete:function(){
localStorage.removeItem("consultationSlide");
consultationThumbnail.click();
}});
}
}else{
console.log('cannot use');
}
发布于 2018-06-04 20:21:47
我找到了问题所在。我看错了东西。问题不在于localStorage。GSAP在这里引起了问题:
TweenMax.to(window, 1, {scrollTo:{y:thumbnailOffsetTop, ease: Power4.easeOut, autoKill:false}, onComplete:function(){
localStorage.removeItem("consultationSlide");
consultationThumbnail.click();
}});
当我将autoKill设置为false时,一切都开始正常工作。嘿,浪费了太多时间去寻找错误的东西:)
https://stackoverflow.com/questions/50671043
复制相似问题