我想創建一個網站,基本上是一個巨大的內容滑塊,在頁面加載時,您會看到div 1(基本上是整個屏幕),然後您可以單擊向下箭頭轉到第2頁等,當您到達頁面2我也希望能夠左右移動(僅在第2頁),將其視爲圖像滑塊,但使用div ..JQuery內容滑塊 - 最佳實踐?
我知道有插件可用,但我很喜歡寫它自己,我已經寫了一些(基本的)JQuery,它可以工作,但它看起來太臃腫了,我想要一個更好/更有效的方式來做到這一點..我所追求的是如何最好的方式來處理這個問題,我沒有看對於代碼,因爲我想學習並且變得更好,但不能想到解決這個問題的最佳方法,是否可以使用某種switch語句?你會怎麼做呢?
我還需要確保你不能滾過div的數目,我目前對if語句使用了var,但是覺得必須有一種方法將每個人都組合成一個簡單的函數?
JS以下,還有一個JSFiddle
謝謝!
$(function() {
var box = $('.box');
TriggerClick = 0;
$("#down").click(function(){
var height = $('.box').outerHeight();
if(TriggerClick == 0){
TriggerClick = 1;
$(box).stop().animate({top:'-='+height}, 500);
}else if(TriggerClick == 1){
TriggerClick = 2;
$(box).stop().animate({top:'-='+height}, 500);
}
});
$("#up").click(function(){
var height = $('.box').outerHeight();
if(TriggerClick == 2){
TriggerClick = 1;
$(box).stop().animate({top:'+='+height}, 500);
}else if(TriggerClick == 1){
TriggerClick = 0;
$(box).stop().animate({top:'+='+height}, 500);
}
});
$("#left").click(function(){
var height = $('.box').outerHeight();
if(TriggerClick == 1){
$(box).stop().animate({left:'-='+height}, 500);
}
});
$("#right").click(function(){
var height = $('.box').outerHeight();
if(TriggerClick == 1){
$(box).stop().animate({left:'+='+height}, 500);
}
});
});
不錯,你嘗試使它自己:)看看[這個頁面](http://coding.smashingmagazine.com/2011/10/11/essential-jquery-plugin-patterns/)有一些很好的模板編寫插件/小部件。它可能會幫助您在項目中獲得更多結構。 – Brainfeeder 2013-04-10 14:16:08
試着看看[Ascensor](http://kirkas.ch/ascensor/),它看起來工作得很好。祝你滑梯好運! – PHearst 2013-04-11 19:52:06