所以我有一個web應用程序,其中每個面板是480x300(-20px的狀態欄)和兩個導航按鈕向左或向右滾動。停止.animate()當它到達最後div
現在一切都很好,除非繼續滾動顯示最大面板,否則它會繼續。
我想知道是否有可能在它到達最後一個面板後停止Jquery .animate()。
所以我有一個web應用程序,其中每個面板是480x300(-20px的狀態欄)和兩個導航按鈕向左或向右滾動。停止.animate()當它到達最後div
現在一切都很好,除非繼續滾動顯示最大面板,否則它會繼續。
我想知道是否有可能在它到達最後一個面板後停止Jquery .animate()。
你好另一個演示http://jsfiddle.net/qpHSw/或http://jsfiddle.net/yEsDQ/或http://jsfiddle.net/yEsDQ/show
此示例動態計數貴麗在UL和調整根據動畫。
代碼
var cur = 1;
var max = $(".scroll-content ul").children("li").length;
$("nav.back").click(function(){
if (cur+1 > max) return;
cur++;
$("#panel").animate({
marginLeft: "-=500px",
}, 1000);
});
$("nav.forward").click(function(){
if (cur-1 < 1) return;
cur--;
$("#panel").animate({
marginLeft: "+=500px",
}, 1000);
});
而我給你最簡單的應用程序! – Ahhhhhhhhhhhhhdfgbv
Hiya @ user1086990很高興幫助,:)乾杯,我已經刪除了這個警告:http://jsfiddle.net/qpHSw/以防萬一,有一個好的,歡呼! –
您可以限制的x座標位置有一定的值,如果它是最後一個面板。
您可以使用計數來跟蹤當前顯示。類似這樣的http://jsfiddle.net/gS33Y/3/
您可以使用#panel
元素上的data-x
屬性來計算面板的數量,並跟蹤顯示哪個面板來限制移動。另外,您應該將幻燈片邊距增加500px(460寬度+ 20px邊距+ 20px填充)。
試試這個:
var $panel = $("#panel")
$panel.data("slideCount", $("#panel li").length).data("currentSlide", 1);
$("nav.back").click(function() {
if ($panel.data("currentSlide") < $panel.data("slideCount")) {
$("#panel").animate({
marginLeft: "-=500px",
}, 1000);
$panel.data().currentSlide++;
}
});
$("nav.forward").click(function(){
if ($panel.data("currentSlide") > 1) {
$("#panel").animate({
marginLeft: "+=500px",
}, 1000);
$panel.data().currentSlide--;
}
});
反正是有檢測時,窗口寬度幾近結束,並終止marginLeft在幻燈片5月底離開右邊沒有空格?
如果保證金不等於0,您是否可以不添加支票到您的點擊動畫中進行動畫製作?只有其他方式,如果它不等於lis的數量*然而您每次都要動畫多少? – noShowP
我真的很想感謝每個人。我認爲雖然(愚蠢,無可否認)對於5個面板應用程序,我只需在面板上添加下一個和上一個按鈕。 在開發較長的情況下,我一定會利用它們:] 謝謝所有。男人,我覺得自己像一個菜鳥 - .- – Ahhhhhhhhhhhhhdfgbv