0

我只是在看这两页:

  1. http://www.tipue.com/search/demos/static/
  2. http://www.google.com

发生的情况是页面样式发生了变化,即使页面仅通过 AJAX 更新。所以我的问题是,在 AJAX 请求之后,改变页面外观的最合规和最有效的方法是什么。是关于切换两个样式表,还是使用 JavaScript 覆盖单个样式表的内容?

4

3 回答 3

1

您所做的只是拥有另一个样式表并更改页面链接标记“href”中的值。那应该做的工作。例如,它就像更改图像的 src 一样。您可以使用 jquery 轻松完成此操作。

于 2013-09-08T14:28:25.633 回答
1

JavaScript DOM 是最简单的解决方案。无需更新 CSS 样式表,您可以轻松地进行用户模式更改,然后(最终)使用 AJAX 保存这些更改。本文是 JS DOM 的一个很好的起点。

于 2013-09-08T14:29:52.317 回答
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);

就个人而言,后一个版本对我来说没有太大意义,除非我们谈论的是样式上的巨大差异,这些差异仅在特殊情况下使用。

于 2013-09-08T15:26:49.720 回答