将.slider应用于隐藏的div

时间:2011-02-23 19:08:15

标签: jquery css

这有点难以解释,但是这里......我有多个隐藏的div,当使用

点击链接时互相交换
$(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#

提前致谢

1 个答案:

答案 0 :(得分:1)

您的滑块仅设置为在设置var scrollPane时滚动#info div,而不是其他两个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);
  });
});