每当用户导航到网站上的新页面(erdie.com)时,我都会尝试从内联SVG徽标中删除动画类。这不是一个大问题,但是当用户点击新页面时,在每个页面加载之前动画发生时,它会占用大量资源。如您所见,徽标位于网站的左上角,徽标代码本身太长而无法在此粘贴,但我会粘贴其打印内容的标题视图。我使用ASP.Net MVC作为Razor语法的后端。
Header.cshtml
<div id="logo-search">
<div class="container clearfix">
<div class="logo-container seven columns">
<a id="logo" href="/">
@Html.Partial("SVGs/_Logo")
</a>
</div>
...
</div><!--/ .container -->
</div><!--/ #logo-search -->
显然,正如您所见,部分正在呈现内联svg徽标。基本上,我想创建一个if / else语句,以便当前URL与首次查看网站时用户导航到的初始URL不匹配时,从内联SVG中删除以下类:erdie-text
,{ {1}},industries-text
。我怎么能这样做?还值得一提的是,如果在JavaScript中可以实现这一点,我可以从这种方法中做到这一点。
答案 0 :(得分:0)
您正在向用户请求添加状态。最好的方法是在视图模型中添加标志。
public ActionResult MyAction()
{
var vm = new MyViewModel();
vm.IsFirstLoad = false; // This needs to come from a persistent state
return View(vm);
}
@if (Model.IsFirstLoad)
{
@Html.Partial("SVGs/_Logo")
}
棘手的部分是弄清楚如何坚持国家。