可以使用JavaScript遍历所有页面元素,并将其样式属性(如background-color、color等)更改为与body相同的颜色,从而实现主题样式的一致性。
示例代码:
function changeTheme(theme) {
// 遍历所有元素
var elements = document.getElementsByTagName("*");
for (var i = 0; i < elements.length; i++) {
var element = elements[i];
// 仅更改具有背景颜色或文本颜色属性的元素
if (element.style.backgroundColor || element.style.color) {
// 将元素颜色属性设置为与body相同的颜色
element.style.backgroundColor = theme === 'dark' ? '#333' : '#fff';
element.style.color = theme === 'dark' ? '#fff' : '#333';
}
}
}
// 示例按钮点击事件
document.getElementById('toggleTheme').addEventListener('click', function() {
var body = document.body;
body.classList.toggle('dark-theme');
body.classList.toggle('light-theme');
var theme = body.classList.contains('dark-theme') ? 'dark' : 'light';
changeTheme(theme);
});
注:上述示例代码仅供参考,具体实现需要根据具体情况进行调整。