要解决AJAX实时CSS样式问题,可以使用以下代码示例:
HTML代码:
Hello World!
CSS代码(default-style.css):
h1 {
color: red;
}
JavaScript代码(ajax-script.js):
function changeStyle() {
var httpRequest = new XMLHttpRequest();
httpRequest.onreadystatechange = function() {
if (httpRequest.readyState === 4 && httpRequest.status === 200) {
var newStyle = document.createElement('style');
newStyle.innerHTML = httpRequest.responseText;
document.getElementById('style-link').replaceWith(newStyle);
document.getElementById('heading').style.color = 'blue';
}
};
httpRequest.open('GET', 'new-style.css', true);
httpRequest.send();
}
CSS代码(new-style.css):
h1 {
color: green;
}
在上述代码中,当按钮被点击时,changeStyle()
函数被调用。该函数通过AJAX请求从服务器上获取新的CSS样式文件(new-style.css)。一旦获取到新的样式文件,它将替换页面上的旧样式文件(default-style.css),并将标题的颜色更改为蓝色。
需要确保服务器上有new-style.css文件,并且服务器端设置了适当的CORS(跨域资源共享)头部,以便允许AJAX请求来自该页面的域名。