将JQuery.Extend Accordion Menu转换为Dropdown Menu

时间:2014-01-28 00:28:55

标签: javascript jquery

我正在更新我们的Accordion菜单(导航)并尝试删除“SlideUp”功能。而不是像“手风琴”一样打开,我宁愿我们的菜单下拉并覆盖页面内容的其余部分。

enter image description here

这是我的JS ...现在它使用jquery.extend但我知道它应该是切换属性和更改一些逻辑以查看此功能的工作。

这是我的js:

    // open-close plugin
    jQuery.fn.OpenClose = function(_options){
// default options
var _options = jQuery.extend({
    activeClass:'active',
    opener:'.open-close',
    slider:'.slide',
    slideSpeed: 400,
    animStart:false,
    animEnd:false,
    event:'click'
 },_options);

 return this.each(function(){
    // options
    var _holder = jQuery(this);
    var _slideSpeed = _options.slideSpeed;
    var _activeClass = _options.activeClass;
    var _opener = jQuery(_options.opener, _holder);
    var _slider = jQuery(_options.slider, _holder);
    var _animStart = _options.animStart;
    var _animEnd = _options.animEnd;
    var _event = _options.event;
    if(_slider.length) {
        _opener.bind(_event,function(){
            if(!_slider.is(':animated')) {
                if(typeof _animStart === 'function') _animStart();
                if(_holder.hasClass(_activeClass)) {
                    _slider.slideUp(_slideSpeed,function(){
                        if(typeof _animEnd === 'function') _animEnd();
                    });
                    _holder.removeClass(_activeClass);
                } else {
                    _holder.addClass(_activeClass);
                    _slider.slideDown(_slideSpeed,function(){
                        if(typeof _animEnd === 'function') _animEnd();
                    });
                }
            }
            return false;
        });
        if(_holder.hasClass(_activeClass)) _slider.show();
        else _slider.hide();
        }
       });
         }

0 个答案:

没有答案