2011-02-23 39 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