嗨,我正在使用名为pickadate.js的 jQuery 插件。但我不知道如何改变主题。有两个主题默认和经典。我想把它改成经典。
问问题
2575 次
3 回答
1
您只需包含所需主题的主题 CSS ...文档在这里
如果您想要插件主页所示的主题选择器..检查此页面源...
HTML:
<span class="menu__link">
Themes:
<input class="theme-toggle__input" type="radio" id="show_theme_default" name="show_theme" value="default" checked hidden>
<label class="theme-toggle__label" for="show_theme_default">default</label> and
<input class="theme-toggle__input" type="radio" id="show_theme_classic" name="show_theme" value="classic" hidden>
<label class="theme-toggle__label" for="show_theme_classic" class="checked-negative">classic</label>
</span>
JavaScript:
var themeSelected = window.localStorage ? localStorage.getItem( 'theme' ) : '',
$themeLinks = $( '#theme_base, #theme_date, #theme_time' ),
updateStylingLinks = function( value ) {
value = value || 'default'
$( '#show_theme_' + value ).attr( 'checked', true )
$themeLinks.detach()
$themeLinks.each( function() {
this.href = this.href.replace( /(.+\/)(\w+)(.+)/, '$1' + value + '$3' )
})
$themeLinks.appendTo( 'head' )
}
if ( themeSelected ) {
updateStylingLinks( themeSelected )
}
$( '[name=show_theme]' ).on( 'change', function() {
var value = this.value
updateStylingLinks( value )
if ( window.localStorage ) {
localStorage.setItem( 'theme', value )
}
})
于 2013-06-06T10:41:11.057 回答
1
主题
所有主题均使用 LESS 生成并编译到 lib/themes 文件夹中。
- 一个且只有一个基本样式表是必需的。选择一个主题,然后包括相应的选择器。
于 2013-06-06T10:41:45.277 回答
0
我的目标是根据用户是使用移动设备(默认主题)还是桌面(经典主题)来使用这两个主题。
在不修改他们的 .LESS 文件(对于版本升级很重要)的情况下,我用不同的 CSS 命名空间对它们进行了扭曲,如下所示 -
@import "../bower_components/pickadate/lib/themes-source/_variables.less";
@import "../bower_components/pickadate/lib/themes-source/base.less";
@import "../bower_components/pickadate/lib/themes-source/base.date.less";
body.pickadate--default {
@import "../bower_components/pickadate/lib/themes-source/default.less";
@import "../bower_components/pickadate/lib/themes-source/default.date.less";
}
body.pickadate--classic {
@import "../bower_components/pickadate/lib/themes-source/classic.less";
@import "../bower_components/pickadate/lib/themes-source/classic.date.less";
}
然后使用 JavaScript,我根据我的屏幕大小将 CSS 类添加/删除到正文中 -
var isDesktop = Modernizr.mq('(min-width: 768px)'); //Modernizr media queries
if (isDesktop) {
$("body").addClass("pickadate--classic");
$("body").removeClass("pickadate--default");
} else {
$("body").addClass("pickadate--default");
$("body").removeClass("pickadate--classic");
}
注意:确保在 window.resize 上调用你的 JS 函数。
于 2016-10-18T04:22:11.937 回答