我正在开发一个主题,允许用户从一组调色板中进行选择,我需要添加更多的颜色控件,以便用户可以更改网站部分的背景颜色,这些颜色是基于调色板控制的。在用户设置自定义颜色之前,我需要根据选定的调色板更新这些选项上的颜色(无需刷新)。
我需要一些类似的Weston Ruter\'s answer on this question 但我似乎不知道如何比较当前值并根据它设置颜色。
下面的代码在不刷新的情况下更新颜色,但仅更新最后一条“else”语句中的选项,每当我尝试比较这些值时,它都不起作用。
wp.customize( \'themeb_scheme\', \'themeb_footerbg\', function( themeb_scheme, themeb_footerbg ) {
themeb_scheme.bind( function( value ) {
if( themeb_scheme == \'light\'){
themeb_footerbg.set( \'#eaeaea\' );
} else if( themeb_scheme == \'dark\'){
themeb_footerbg.set( \'#323232\' );
} else {
themeb_footerbg.set( \'#828282\' );
}
} );
});
我对jquery没有任何经验,编写布局的人已经不再与我们合作,我被要求进行这些更改,因此非常感谢任何帮助。
最合适的回答,由SO网友:dgwyer 整理而成
您正在将更改绑定到themeb_scheme
通过带参数的匿名回调函数value
作为的新设置themeb_scheme
.
这应该可以:
wp.customize( \'themeb_scheme\', \'themeb_footerbg\', function( themeb_scheme, themeb_footerbg ) {
themeb_scheme.bind( function( value ) {
if( value == \'light\'){
themeb_footerbg.set( \'#eaeaea\' );
} else if( value == \'dark\'){
themeb_footerbg.set( \'#323232\' );
} else {
themeb_footerbg.set( \'#828282\' );
}
} );