在基本信息显示之前,我制作了一个可爱的效果,即我被缩放并平移到页面的一 Angular 。现在,我才意识到用户每次重新加载页面时都将被迫看到它。
我想知道我该怎么做才能仅在自上次重新启动浏览器后的第一次访问时运行动画,即如果用户来 self 自己以外的其他域。
如果这太复杂,我想运行一次动画然后以某种方式通知浏览器不再运行它。或者至少不会在某一天发生。
由于某些不合逻辑但不可避免的原因我不会使用 cookie,因此我将尝试应用 session 状态。因此,我对代码进行了以下更改。
配置:
<sessionState mode="InProc"></sessionState>
JS:
$(document).ready(function () {
var execute = 0; // 0 - no animation, 1 - full length animation
$("div.mainInfo img")
.delay(400 * execute)
.fadeIn(1000 * execute);
...
}
页面加载:
Session["hazaa"] = "shazoo";
if(IsPostBack)
{
if(Session["hazaa"] == "shazoo";
DoTheCoolStuffToAffectJQueryOnTheClient(0);
}
所以,如果 hazaa 确实是 shazoo,我想更改 jQuery 执行标志,但是……确切地说,我该怎么做?!无论如何,这个标志让我很烦,因为我每次上传作品时都会忘记打开它,所以它每次都是静态零。所以,如果为了允许 DoTheCoolStuffToAffectJQueryOnTheClient(0) 调用工作而必须这样做,我不会哭。
最佳答案
您可以使用 session 或本地存储来完成您想要完成的任务。
https://developer.mozilla.org/en/DOM/Storage
session 存储只会持续到浏览器重启,本地存储会一直持续到客户端清除它
要使用你所要做的就是在动画完成时存储一个值 IE。
sessionStorage.setItem("animeRan", 'yes');
然后在您其他页面上的任何地方,只要它们在同一域中,您就可以使用它访问它
sessionStorage.getItem("animeRan");
随时使用
删除它sessionStorage.removeItem("animeRan");
这是一个网站,您可以检查浏览器兼容性/支持以及有关网络存储的更多信息
关于jquery - 在页面重新加载时防止 jQuery 动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11725841/