我尝试在用户使用jQuery UI Themeselector更改页面主题时更改主体背景颜色。
我试过这个
function updateBodyBackground() {
$("body").css('background-color', $('.ui-widget-header:first").css("background-color") + ' !important;');
}
然后我在documentready上调用它(设置初始主题背景),并像这样将其设置为ThemeSelector的onClose事件;
$function() {
updateBodyBackground();
$('#switcher').themeswitcher({ expires: 365, path: '/', loadTheme: "sunny", onClose: updateBodyBackground });
}
在Firefox中不做任何事情,似乎落后于Chrome的变化,选择器似乎在IE8中根本不起作用。
关于如何更改背景以更好地匹配所选jQuery UI主题有什么建议吗?
谢谢!
3条答案
按热度按时间nr9pn0ug1#
一个更好的方法是不使用计时器,只使用jQueryUI CSS类中的一个,背景颜色是你想要的,在我的例子中,我喜欢的背景颜色是:
ui-state-hover
:由于
id
会覆盖所有class
设置,因此请使用id
删除或更改ui-state-hover
使用的任何不需要的设置,例如background-image
:0pizxfdo2#
错误修复使用超时...
在themeswitchertool.js中查找函数updateCSS()
After$(“head”).append(cssLink);
添加下面一行增加超时,如果它仍然不工作...
插入setTimeout(“$('body ').css('background-color',$('. ui-widget-header:first').css('background-color')",2000);
unftdfkk3#
你的js中有一个错误(使用了“instead of”):
应为:
但我发现这很有效。不需要放入Themeswitchertool.js,将setTimeout降低到500,以便它更快地更改。