2011-02-23 70 views
2

这是有点棘手的解释,但在这里不用....我有多个隐藏层是用点击应用.slider到隐藏层

$(document).ready(function(){ 
    $('a').click(function() { 
    var divname= this.name; 
    $("#"+divname).show("slow").siblings().hide("slow"); 
    }); 
}); 

我也做了一个链接时,彼此交换滑块功能很好,但当div更改滑块不起作用。如何在调用隐藏div时将其定位到目标?我认为它是一个可变的东西?

这是我的滑块代码

$(function() { 
var scrollPane = $('#info'), 
    scrollableHeight = scrollPane.height() - scrollPane.parent().height() || 0; 

$("#slider-vertical").slider({ 
    orientation: "vertical", 
    range: "max", 
    min: 0, 
    max: scrollableHeight, 
    value: scrollableHeight, 
    slide: function(event, ui) { 
    scrollPane.css({top: ui.value - scrollableHeight}); 
    } 
}); 

});

这里是一个工作示例更好地理解.....请原谅乱码

http://www.kerrydean.ca/tizzest.html#

在此先感谢

+0

我不明白,这个例子有一个工作的例子..复制过去呢?我看不出你想要完成的效果。但是,如果您更新某些元素,并且想要让新元素具有相同的效果/事件/动作,无论尝试查看jQuery实况功能。 – Michael 2011-02-23 19:18:43

回答

1

你的滑块设置为仅当滚动#info DIV你设置了var scrollPane,而不是你的其他两个div(#info2和#info3)。而是给你的所有滑动的div共用类,如class="info"并设置scrollPane像这样:

var scrollPane = $('.info'), 
    scrollableHeight = scrollPane.height() - scrollPane.parent().height() || 0; 

然后确保你显示/隐藏你的div当你的滑块设置为默认位置:

$(document).ready(function(){ 
    $('a').click(function() { 
    var divname= this.name; 
    $("#"+divname).show("slow").siblings().hide("slow"); 

    // Reset slider to top 
    var max = $("#slider-vertical").slider("option", "max); 
    $("#slider-vertical").slider("value", max); 
    }); 
}); 
+0

作品完美。非常感谢你! – Greg 2011-02-23 21:29:52

+0

没问题:)不要忘记接受你的答案,这样人们将在未来回答你更多的问题。 – Dominic 2011-02-23 21:48:00

+0

其实对不起..一个小故障。除非滑块重置为顶部,否则它可以很好地工作,但由于某种原因,其控制的div不是从顶部开始,而是向下一些增量。任何想法可能会导致这种情况?再次感谢您的时间和知识 – Greg 2011-02-23 21:59:05