jQuery在同一内容区域内显示/隐藏,无间隙

jQuery在同一内容区域内显示/隐藏,无间隙,jquery,user-interface,Jquery,User Interface,我有一个300像素宽的导航div。单击链接时,顶层菜单应向左滑动,相应的链接div应滑入。我有这个工作,但有一个时刻,内容淡出左侧从顶部导航菜单的区域仍然是可见的,然后新的内容幻灯片 我试图消除这个差距,我不得不给代码添加一个延迟,以阻止它在顶部菜单下加载,然后跳转,这看起来不太好 该页面可在此处找到:-单击链接以查看问题 加载jQuery后的JS和jQuery UI插件如下: jQuery对我来说不是一个强项,所以代码可能会整理得很好,但是非常感谢所有的帮助 James对于一个函数,您需要向h

我有一个300像素宽的导航div。单击链接时,顶层菜单应向左滑动,相应的链接div应滑入。我有这个工作,但有一个时刻,内容淡出左侧从顶部导航菜单的区域仍然是可见的,然后新的内容幻灯片

我试图消除这个差距,我不得不给代码添加一个延迟,以阻止它在顶部菜单下加载,然后跳转,这看起来不太好

该页面可在此处找到:-单击链接以查看问题

加载jQuery后的JS和jQuery UI插件如下:

jQuery对我来说不是一个强项,所以代码可能会整理得很好,但是非常感谢所有的帮助


James

对于一个函数,您需要向html标记中添加类,并为每个链接项添加title属性,以便它知道向右滑动哪个div:-

// Hide Sub Menus on Load
$(".wordcloud-menu").hide();

$(".menu-item").click(function(){

var selectElement = $(this).attr("title");

    $(this).hide("slide", { direction: "left" }, 500);
    // Hide Sub Menus on Load
    $(selectedElement).delay("500").show("slide", { direction: "right" }, 500);
    return false;

});
建议使用动画和CSS溢出隐藏。比如,

$(selectedElement + ":hidden").show().animate({"right": "+=300px"}, "650");

如果我正确理解你想要实现的目标, 您应该尝试以下方法:

转到小节:

.出示该款 将wordcloud部分向左移动 300px 要返回到主要部分,请执行以下操作:

将wordcloud部分向右移动300像素
这对您有意义吗?

这是一个旁注,您可能只有一个函数,而不是7个,在这个函数中,您可以确定单击了哪个链接。这将使它在将来更易于维护,如果你想对动画进行更改,你只需更改一次。延迟不是由JS中的延迟500次调用造成的吗?@Interstarr_Coder这可能是一个函数,不幸的是,jQuery不是我熟悉的东西,我只是不知道如何实现这个1函数。任何提示都将不胜感激@Patrick子菜单加载延迟是必要的,以阻止新菜单出现在滑出顶部菜单下,然后跳到应该的位置。看起来更糟……你能把你的代码发布到jsfiddle.net以便更容易地提供帮助吗?我知道这可能需要你一段时间,但提供一把小提琴是寻求帮助的最好方式。