【问题标题】:jquery ui show slide divsjquery ui 显示幻灯片 div
【发布时间】:2014-09-09 23:58:56
【问题描述】:

我试图让一个链接“onclick”js 事件向左滑动特定的 div。如果按顺序从第一个链接到第三个链接,则以下 jsfiddle 有效。如果向后移动,则 div 不会滑动...我尝试重新 zindexing,因此要滑动的 div 位于当前可见 div 的顶部,但这似乎不起作用。

http://jsfiddle.net/3qvro2pq/5/

function doShow(inDiv){
    $(inDiv).zIndex(1);
    $(inDiv).show({
    effect:'slide',
    direction:'right',
    duration:1000,
    complete:closeHidden
});
}

请帮忙。

【问题讨论】:

  • 我认为小提琴不起作用?或者至少不在 mac chrome/ff 上。
  • 你的演示坏了。
  • 对不起... jsfiddle 版本错误。我损坏的代码现在应该可以“工作”了。

标签: javascript jquery css jquery-ui


【解决方案1】:

您需要在动画开始时隐藏其他 div,而不是在动画完成时。您的代码有效,但幻灯片不可见,因为在动画结束之前活动层位于顶部。

var curWindow;
function doShow(inDiv){
    curWindow = inDiv;
    $(inDiv).zIndex(1);
    closeHidden();
    $(inDiv).show({
        effect:'slide',
        direction:'right',
        duration:1000
    });
}
function closeHidden(){
    $(".frameDiv").each(function(i){
        if ("#" + this.id !== curWindow){
            $("#" + this.id).hide();
            $("#" + this.id).zIndex(99);
        }
    });
}

这里可行:http://jsfiddle.net/3qvro2pq/7/

编辑:如果您想在动画完成之前显示 div,请设置 zIndex before 动画开始并在 完成 时隐藏.

EDIT2:这行得通。

var curWindow;
function doShow(inDiv){
    curWindow = inDiv;
    $('.frameDiv').zIndex(1);
    $(inDiv).zIndex(10);
    $(inDiv).show({
        effect:'slide',
        direction:'right',
        duration:1000,
        complete: closeHidden
    });
}
function closeHidden(){
    $(".frameDiv").each(function(i){
        if ("#" + this.id !== curWindow){
            $("#" + this.id).hide();
        }
    });
}

JSFiddle:http://jsfiddle.net/3qvro2pq/9/

【讨论】:

  • 很遗憾不是答案,但感谢您的快速响应。请参阅以下内容。 jsfiddle.net/3qvro2pq/6
  • 在将代码从我的开发移植到 jsfiddle 时遗漏了这部分内容。
  • @frustratedITGuy 已编辑,请检查。
  • 这就是我在设置 zindex 时要考虑的问题。如果我在“显示”之前“隐藏”div,它不会滑过当前选定的 DIV .. 即。在显示第三个后单击第一个时,我希望“第一个”滑过“第三个”。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-04
  • 2010-11-06
  • 1970-01-01
  • 2013-11-27
  • 2012-09-14
  • 2011-08-22
相关资源
最近更新 更多