<分区>
标签 javascript jquery html css ajax
我正在看这两个页面:
页面样式发生变化,即使页面仅通过 AJAX 更新。所以我的问题是,在 AJAX 请求之后更改页面外观的最合规和最有效的方法是什么。是关于切换两个样式表,还是使用 JavaScript 覆盖单个样式表的内容?
最佳答案
最合规的方法是间接更改样式,同时将样式与功能分开。这是通过为每个所需状态添加 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);
就我个人而言,后一个版本对我来说意义不大,除非我们谈论的是仅在特殊情况下使用的样式上的巨大差异。
关于javascript - jquery ajax 改变样式表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18684800/
相关文章:
单击时将新内容放入 div 的 Javascript - 自动向下滚动到新内容不起作用
javascript - 仅更改所选选项的颜色,但不是下拉列表中的所有选项
javascript - 如何在 Facebook 上发布自定义 Web URL 链接?
javascript - jQuery 轮播 "this"上下文未传递到 .animate 回调中
javascript - 使用过渡功能时如何使div元素淡出变慢
javascript - d3js selectAll 元素的 CSS 样式?
html - 是否可以在 UIWebView( native 应用程序)和 safari 之间共享 locastorage 数据?