我只看这两页:
即使页面仅通过AJAX更新,页面样式也会发生变化。所以我的问题是,在AJAX请求之后,改变页面外观的最合规和最有效的方法是什么。是否有两个样式表被切换,或使用JavaScript覆盖单个样式表的内容?
答案 0 :(得分:1)
您所做的就是拥有另一个样式表,并更改页面链接标记“href”中的值。那应该做的。例如,它就像更改图像的src一样。您可以使用jquery轻松完成此任务。
答案 1 :(得分:1)
JavaScript DOM是最简单的解决方案。您可以轻松地进行用户模式更改,然后(最终)使用AJAX保存这些更改,而不是更新CSS样式表。 This文章是JS DOM的一个很好的起点。
答案 2 :(得分:1)
最兼容方式是间接更改样式,同时从功能中分离样式。这是通过为每个所需状态添加css规则然后使用您的javascript逻辑切换类(在ajax调用之后)来实现的:
$('.js-dynamic-entity').addClass('huge');
很多时候我们无法做到这一点,例如当你必须在一个很大的范围内设置一个非常具体的值时,让我们说一个元素的高度在50到500像素之间。在这种情况下,您将使用jquery css方法,这也很常见:
$('.js-dynamic-entity').css({height: 457});
如果你想在ajax调用之后做一个吨样式工作,那么你也可以考虑按照这样的jquery加载一个样式表:
$('<style />').appendTo('body').html(dynamicallyLoadedSheet);
就个人而言,后一版本对我来说并没有多大意义,只是我们谈论的是造型的巨大差异,这些差异只在特殊情况下使用。