まあ、私はjQueryとjavascriptで新しくて、イメージスライダーのための 'some'コードを書いていますが、それは膨大です。私はそれがもっと短くてもよいと確信していますが、私はどのように分かっていません。私はそれから学ぶことができるようにそれを行う必要がある方法を私に見せてもらえますか?事前に感謝:Djavascript/jqueryコードを短縮しますか?
私は怠け者見たくないPS、私は本当にここではJavascriptをとjQueryで
を良く取得したいが、私のコード
jQuery(document).ready(function(){
//Variables for image slider
var imgWrapper = $('.carousel-wrapper'),
img = $('.carousel-box'),
imgWidth = $('.carousel-box').width(),
imgLength = $('.carousel-box').length, // 4
currentMargin = imgWrapper.css('margin-left').replace('px',''), //0px
responsiveLength = 3,
maxMargin = -((imgLength - responsiveLength) * imgWidth),
minMargin = 0; //0px
$(window).resize(function(){
if ($(window).width() <= 1080) {
responsiveLength = 2;
maxMargin = -((imgLength - responsiveLength) * imgWidth);
} else if ($(window).width() <= 700) {
responsiveLength = 1;
maxMargin = -((imgLength - responsiveLength) * imgWidth);
} else {
responsiveLength = 3;
maxMargin = -((imgLength - responsiveLength) * imgWidth);
}
});
//Transition animation on click
$('.portbutton').click(function(){
//Get the direction
var dir = $(this).data('dir');
if (dir === 'next' && currentMargin != maxMargin) {
currentMargin -= imgWidth;
imgWrapper.animate({marginLeft: currentMargin},300);
} else if (dir === 'next' && currentMargin === maxMargin){
currentMargin = minMargin;
imgWrapper.animate({marginLeft: currentMargin},300);
} else if (dir === 'prev' && currentMargin != minMargin){
currentMargin += imgWidth;
imgWrapper.animate({marginLeft: currentMargin},300);
} else {
currentMargin = maxMargin;
imgWrapper.animate({marginLeft: currentMargin},300);
}
});
}です)。
より短い!==良い。あなたのコードを改善したいなら、* refactoring *があなたの望むものです。 –