jQuery每次单击时增加X
我正在从头开始创建下一个/上一个导航,并希望单击“下一个”按钮,在每次单击时增加(动画)X留下的边距,直到到达终点(在本例中为-320px),类似于后退按钮的方法。我可能是超级密集型的——但我的javascript如下:jQuery每次单击时增加X,jquery,css,Jquery,Css,我正在从头开始创建下一个/上一个导航,并希望单击“下一个”按钮,在每次单击时增加(动画)X留下的边距,直到到达终点(在本例中为-320px),类似于后退按钮的方法。我可能是超级密集型的——但我的javascript如下: function myFunction() { "use strict"; if (jQuery) { var $next = $(".next"), $back = $(".back"),
function myFunction() {
"use strict";
if (jQuery) {
var $next = $(".next"),
$back = $(".back"),
$box = $(".box"),
regWidth = $box.width(),
$contain = $(".contain"),
len = 0,
combinedWidth = 0,
len = $box.length;
while (len--) {
combinedWidth = combinedWidth + $($box[len]).width();
}
$contain.width(combinedWidth);
$next.bind('click', function (e) {
e.preventDefault();
var $this = $(this),
$tWidth = $this.width();
$contain.animate({
marginLeft: "+=" + (-regWidth) + "px"
});
});
//click event for back
$back.click(function (e) {
e.preventDefault();
var $this = $(this),
$tWidth = $this.width();
$contain.animate({
marginLeft: "+=" + (regWidth) + "px"
});
});
}
};
$(function () {
myFunction();
});
CSS如下所示:
#wrap {
width:320px;
margin:0 auto;
overflow:hidden;
}
.contain {
float:left;
background:#e9e9e9;
height:480px;
}
.box
{
min-height:75px;
}
任何帮助都将不胜感激您可以这样使用它:
$element.animate({marginLeft: "+=Npx"});
其中N是像素数 您可以这样使用它:
$element.animate({marginLeft: "+=Npx"});
其中N是像素数 穆乔·格雷西亚斯,我知道这比我做的要简单得多:——)@user889962没问题。当你得到你的答案时,一定要接受正确的答案,这将有利于回答者、社区以及任何未来寻找同一个问题的程序员。我只是想提一下,因为它不一定是显而易见的:如果你在
=
和数字之间加一个空格,它将不起作用,因此,+=5
会起作用,但+=5
不会。穆乔·格雷西亚斯,我知道这比我做的要简单得多:-)@user889962没问题。当你得到你的答案时,一定要接受正确的答案,这将有利于回答者、社区以及任何未来寻找同一个问题的程序员。我只是想提一下,因为它不一定是显而易见的:如果你在=
和数字之间加一个空格,它将不起作用,所以+=5
可以工作,但是+=5
不行。正如Rikudo所指出的,用corrent语法更新了代码!非常感谢!用Rikudo指出的corrent语法更新了代码!非常感谢!