Jquery ajax更改样式表

时间:2013-09-08 14:23:36

标签: javascript jquery html css ajax

我只看这两页:

  1. http://www.tipue.com/search/demos/static/
  2. http://www.google.com
  3. 即使页面仅通过AJAX更新,页面样式也会发生变化。所以我的问题是,在AJAX请求之后,改变页面外观的最合规和最有效的方法是什么。是否有两个样式表被切换,或使用JavaScript覆盖单个样式表的内容?

3 个答案:

答案 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);

就个人而言,后一版本对我来说并没有多大意义,只是我们谈论的是造型的巨大差异,这些差异只在特殊情况下使用。