我想创建一个基本上是一个巨大的内容滑块的网站,在页面加载时你会看到 div 1(基本上是整个屏幕),然后你可以单击向下箭头转到第 2 页等,当你到达第 2 页时我还希望能够左右移动(仅在第 2 页上),将其视为图像滑块但带有 div..
我知道有可用的插件,但我很想自己写,我写了一些(基本的)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);
}
});
});