jquery侧边栏彼此相邻

时间:2014-10-17 19:43:03

标签: hover delay sidebar

我已经将带有悬停延迟动画的侧边栏放在一起,但我似乎无法将列完全复制到第一个旁边。这是我的第一个问题。 第二个是我想使用jspanel插件,这样当我点击侧边栏中的子项时会弹出​​一个可拖动的窗口。

我希望这可以带到一个工作状态。 非常感谢您提前回复!

在这里[链接](http://jsfiddle.net/chrisoutwright/tc4d9t6d/)!

$('#categories').corner("top keep");
$(document).ready(function(){
   $("#foo").click(function(){
 $().jsPanel().show();
 });
 });


$( "#navigation ul.sub-level" ).corner("").css( "border", "3px double blue" );

jQuery.fn.hoverWithDelay = function(inCallback,outCallback,delay) {
    this.each(function() {
        var timer, $this = this;
        $(this).hover(function(){
           timer = setTimeout(function(){
              timer = null;
              inCallback.call($this);
           }, delay);
        },function() {
           if (timer) {
              clearTimeout(timer);
              timer = null;
           } else
              outCallback.call($this);
        });
    });
};

var hovering = {mainMenu: false, categories: false};

function closeSubMenus() {
    $('ul.sub-level').css('display', 'none');        
}
closeSubMenus();

function closeMenuIfOut() {
    setTimeout(function(){
        if (!hovering.mainMenu && !hovering.categories) {
            $('#navigation').fadeOut('fast',closeSubMenus);
        }
    },100);       
}

$('ul.top-level li').hoverWithDelay(function() {
    $(this).find('ul').show();
}, function() {
    $(this).find('ul').fadeOut('fast', closeMenuIfOut);
}, 500);

$('#categories').hoverWithDelay(function() {
        $('#navigation').show();
        hovering.categories = true;
    },
    function(){
        hovering.categories = false;
        closeMenuIfOut();
    },500);

$('#navigation').hover(function() {
        hovering.mainMenu = true;
    }, function() {
        hovering.mainMenu = false;
    });

1 个答案:

答案 0 :(得分:0)

我可以在第4行看到至少一个错误,您尝试生成/打开jsPanel。

你使用哪个jsPanel版本?版本1.x或版本2.x?这两个版本在如何使用jsPanel()命令方面有所不同。

  • 版本1.x:$(选择器).jsPanel(config);
  • 版本2.x:$ .jsPanel(config);

您收到任何错误消息吗?