jquery - 在页面重新加载时防止 jQuery 动画

标签 jquery asp.net css session-state

在基本信息显示之前,我制作了一个可爱的效果,即我被缩放并平移到页面的一 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");

这是一个网站,您可以检查浏览器兼容性/支持以及有关网络存储的更多信息

http://caniuse.com/#feat=namevalue-storage

关于jquery - 在页面重新加载时防止 jQuery 动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11725841/

相关文章:

c# - 将 Web 解决方案实现为 Winform

asp.net - @Url.Action 在参数之间添加 "amp;"在 Controller 中创建空值?

html - 水平和垂直居中自动调整大小的图像

javascript - 如何围绕他的中心旋转元素?

c# - 提交到ashx时jquery文件上传错误

javascript - jquery 内容切换使用 .slideToggle()

asp.net - 关于将遗留 ASP 站点与 .NET 2.0 混合的建议

javascript - JQuery 一旦创建就附加到父级

jquery - 如何使用 jQuery 检测具有自定义属性的链接点击?

html - CSS 无法控制文本对齐方式,因为整个 div 似乎都在移动