【发布时间】:2014-03-13 03:02:14
【问题描述】:
我正在使用 bigSlide.js (http://ascott1.github.io/bigSlide.js/) 插件来创建滑入式菜单。
我可以为菜单的宽度输入我自己的值,我已将其设置为 250 像素,稍后将在代码中使用它。该网站是响应式的,所以我想要发生的是根据窗口宽度改变值,即。窗口宽度 600px 或更小 - 菜单宽度为 100px,如果窗口宽度大于 600px - 菜单宽度为 250px。
这可能吗?如果是这样,有人能告诉我怎么做吗,谢谢。
jQuery(function($) {
'use strict';
$.fn.bigSlide = function(options) {
var settings = $.extend({
'menu': ('#menu'),
'push': ('.push'),
'side': 'right',
'menuWidth': '250px',
'speed': '300'
}, options);
var menuLink = this,
menu = $(settings.menu),
push = $(settings.push),
width = settings.menuWidth;
var positionOffScreen = {
'position': 'fixed',
'top': '0',
'bottom': '0',
'settings.side': '-' + settings.menuWidth,
'width': settings.menuWidth,
'height': '100%'
};
var animateSlide = {
'-webkit-transition': 'all' + ' ' + settings.speed + 'ms ease',
'-moz-transition': 'all' + ' ' + settings.speed + 'ms ease',
'-ms-transition': 'all' + ' ' + settings.speed + 'ms ease',
'-o-transition': 'all' + ' ' + settings.speed + 'ms ease',
'transition': 'all' + ' ' + settings.speed + 'ms ease'
};
menu.css(positionOffScreen);
push.css(settings.side, '0');
menu.css(animateSlide);
push.css(animateSlide);
menu._state = 'closed';
menu.open = function() {
menu._state = 'open';
menu.css(settings.side, '0');
push.css(settings.side, width);
};
menu.close = function() {
menu._state = 'closed';
menu.css(settings.side, '-' + width);
push.css(settings.side, '0');
};
menuLink.on('click.bigSlide', function(e) {
e.preventDefault();
if (menu._state === 'closed') {
menu.open();
} else {
menu.close();
}
});
return menu;
};
}(jQuery));
【问题讨论】: