Javascript 在swipe.js中,translate函数中的这段代码中发生了什么?
我试图了解swipe.js的工作原理,以便构建自己的图像滑块。你能帮我了解这里发生了什么吗Javascript 在swipe.js中,translate函数中的这段代码中发生了什么?,javascript,Javascript,我试图了解swipe.js的工作原理,以便构建自己的图像滑块。你能帮我了解这里发生了什么吗 function translate(index, dist, speed) { var slide = slides[index]; var style = slide && slide.style; if (!style) return; style.webkitTransitionDuration = style.MozTransitionDuration
function translate(index, dist, speed) {
var slide = slides[index];
var style = slide && slide.style;
if (!style) return;
style.webkitTransitionDuration =
style.MozTransitionDuration =
style.msTransitionDuration =
style.OTransitionDuration =
style.transitionDuration = speed + 'ms';
style.webkitTransform = 'translate(' + dist + 'px,0)' + 'translateZ(0)';
style.msTransform =
style.MozTransform =
style.OTransform = 'translateX(' + dist + 'px)';
}
链接到功能转换(索引、距离、速度){
//按索引获取幻灯片
var幻灯片=幻灯片[索引];
//获取分配给幻灯片的样式。如果未找到幻灯片
//这将返回false。
var style=slide&&slide.style;
//如果没有找到样式,则返回(不执行任何操作)
如果(!style)返回;
//在Javascript中,您可以一次分配多个变量。例如,
//“var a=b=c=10;”。这将把所有3个变量分配给
//在下面的代码中,它为每个自定义浏览器指定一个转换(自每个
//浏览器具有其使用的自定义属性)。msTransitionDuration为
//对于Microsoft(IE)、用于Chrome的webkit、用于Firefox的Moz等
//每一个都是“ms”,速度是传递到
//函数。看起来很奇怪,因为每个变量都在它自己的行上,
//但是你可以想象我上面提供的例子。
style.webkitt转换持续时间=
style.MozTransitionDuration=
style.msTransitionDuration=
风格转换持续时间=
style.transitionDuration=速度+毫秒;
//现在,指定转换方法。Chrome使用不同的格式,因此
//它得到自己的字符串。ms、Moz和O是相同的,所以它们是相同的
//以类似的样式指定给上面的块。
style.webkitttransform='translate('+dist+'px,0)'+'translateZ(0)';
style.msTransform=
style.MozTransform=
style.OTransform='translateX('+dist+'px');
}
函数转换(索引、距离、速度){
//按索引获取幻灯片
var幻灯片=幻灯片[索引];
//获取分配给幻灯片的样式。如果未找到幻灯片
//这将返回false。
var style=slide&&slide.style;
//如果没有找到样式,则返回(不执行任何操作)
如果(!style)返回;
//在Javascript中,您可以一次分配多个变量。例如,
//“var a=b=c=10;”。这将把所有3个变量分配给
//在下面的代码中,它为每个自定义浏览器指定一个转换(自每个
//浏览器具有其使用的自定义属性)。msTransitionDuration为
//对于Microsoft(IE)、用于Chrome的webkit、用于Firefox的Moz等
//每一个都是“ms”,速度是传递到
//函数。看起来很奇怪,因为每个变量都在它自己的行上,
//但是你可以想象我上面提供的例子。
style.webkitt转换持续时间=
style.MozTransitionDuration=
style.msTransitionDuration=
风格转换持续时间=
style.transitionDuration=速度+毫秒;
//现在,指定转换方法。Chrome使用不同的格式,因此
//它得到自己的字符串。ms、Moz和O是相同的,所以它们是相同的
//以类似的样式指定给上面的块。
style.webkitttransform='translate('+dist+'px,0)'+'translateZ(0)';
style.msTransform=
style.MozTransform=
style.OTransform='translateX('+dist+'px');
}
以下是每一行的注释:
// get the specific slide, using the parameter index, from some higher-scoped variable called slides
var slide = slides[index];
// if slide isn't falsey, style = slide.style, otherwise style = falsey;
var style = slide && slide.style;
// if style is falsey, go away
if (!style) return;
// set all these different transition durations, since each browser wants different style settings, all to the same value: speed + 'ms'
// (reformatted to make the = less confusing)
style.webkitTransitionDuration = style.MozTransitionDuration = style.msTransitionDuration = style.OTransitionDuration = style.transitionDuration = speed + 'ms';
style.webkitTransform = 'translate(' + dist + 'px,0)' + 'translateZ(0)';
// similarly, set all these different transforms to translateX( + dist + px)
style.msTransform = style.MozTransform = style.OTransform = 'translateX(' + dist + 'px)';
以下是每一行的注释:
// get the specific slide, using the parameter index, from some higher-scoped variable called slides
var slide = slides[index];
// if slide isn't falsey, style = slide.style, otherwise style = falsey;
var style = slide && slide.style;
// if style is falsey, go away
if (!style) return;
// set all these different transition durations, since each browser wants different style settings, all to the same value: speed + 'ms'
// (reformatted to make the = less confusing)
style.webkitTransitionDuration = style.MozTransitionDuration = style.msTransitionDuration = style.OTransitionDuration = style.transitionDuration = speed + 'ms';
style.webkitTransform = 'translate(' + dist + 'px,0)' + 'translateZ(0)';
// similarly, set all these different transforms to translateX( + dist + px)
style.msTransform = style.MozTransform = style.OTransform = 'translateX(' + dist + 'px)';
奇怪的
=
语句?这只是一条长长的队伍。所有持续时间=速度+毫秒,所有变换=translateX('+dist+'px)'Ye,基本上,编译器从左边开始,不断地将变量分配给彼此。如果你开始使用旧的jquery动画,而不是使用css转换,你不是会更好吗?@aldux你为什么这么说?@JGallardo我的意思是,这两种方法在某种程度上都会起作用,但是jQuery为您提供了开箱即用的跨浏览器兼容性,而且由于您似乎已经开始学习javascript(我假设是这样),这将是一件不必担心的事情。奇怪的=
语句?这只是一条长长的队伍。所有持续时间=速度+毫秒,所有变换=translateX('+dist+'px)'Ye,基本上,编译器从左边开始,不断地将变量分配给彼此。如果你开始使用旧的jquery动画,而不是使用css转换,你不是会更好吗?@aldux你为什么这么说?@JGallardo我的意思是,这两种方法在某种程度上都会起作用,但是jQuery为您提供了开箱即用的跨浏览器兼容性,而且既然您似乎开始学习javascript(我假设是这样),那就不用担心了。哦,好吧,我想知道为什么style.
被重复了这么多,好吧,我想知道为什么style.
被重复了这么多