根据选择使左列移动?

时间:2010-10-29 05:59:24

标签: javascript jquery smart-wizard

我在以下URI遇到了一个jQuery Wizard插件:

http://www.techlaboratory.net/labs/SmartWizard/wizard-vertical.htm

虽然它符合我的目的,但我正在努力实现一件小事。如果我添加超过5个步骤,显然并非所有步骤都可见。相反,当点击下一个时,我试图将所选步骤居中。因此,例如,如果我点击第2步,左侧显示第2步的框应该居中。有人可以建议一个好方法吗?

1 个答案:

答案 0 :(得分:1)

我做了一个jsFiddle:http://jsfiddle.net/elektronikLexikon/xWmhh/
它适用于此代码:

$('.wiz-container').smartWizard();

var ul_height = 400; // default: 400
var link_height = 80; // default: 80

$("#wizard-anchor li a, .btn.next, .btn.back").click(function() {
    if($("#wizard-anchor li").length > 5) {
        var ul_top = $("#wizard-anchor").offset().top;
        var current_top = $(".wiz-anc-current").offset().top-ul_top;
        var first_top = $("#wizard-anchor li:first").offset().top;
        var last_top = $("#wizard-anchor li:last").offset().top;
        if((current_top > ul_height/2-link_height/2 && last_top > ul_height) || (current_top < ul_height/2+link_height/2 && first_top < 0)) {
            $("#wizard-anchor").animate({
                "margin-top": 160-current_top
            }, 700);
        }
    }
});

不幸的是,通过单击按钮可以正常工作,当您单击左栏中的已完成步骤时,会发生奇怪的事情。