我试图让图像滑块正常工作。但我没有得到下一个/上一个功能。
我有一个容器mc,用于存放所有图像,还有一个遮罩,用作该容器的遮罩。
以下是我添加图片的方式。
for(var i:int = 0; i<this.container.numChildren; i++) {
var mc:DisplayObject = this.container.getChildAt(i);
if(mc is MovieClip) {
mc.x = xPos;
xPos += mc.width + margin;
mc.y = 0;
}
}
因此所有图像现在都位于一个有一定余量的漂亮行中。 面具和容器具有相同的x / y位置。所以,现在让我说我设置了掩码的witdth来显示容器所拥有的5个图像。
如何对下一个/上一个按钮进行编程,以便在点击时只显示或隐藏一个图像? 例如。补间容器位置,看起来是正确的。
这是我的下一个和前功能。与不工作。基本上我希望容器总是显示相同数量的项目。
private function slideLeft(event:MouseEvent):void {
if(!TweenMax.isTweening(container)) {
var tx:Number = Math.min(container.x + itemWidth, _mask.x);
TweenMax.to(container, 0.3, {x:Math.floor(tx)});
}
}
private function slideRight(event:MouseEvent):void {
if(!TweenMax.isTweening(container)) {
var tx:Number = Math.max(container.x - itemWidth, _mask.x-_mask.width);
TweenMax.to(container, 0.3, {x:Math.floor(tx)});
}
}
什么错了?任何人吗?
答案 0 :(得分:1)
在向右显示项目时,您需要考虑容器的宽度。因此,容器的最小x值应为_mask.x - (container.width - _mask.width)
您还应该考虑边距,否则您会看到评论中描述的偏移量。
private function slideLeft(event:MouseEvent):void {
if(!TweenMax.isTweening(container)) {
var tx:Number = Math.min(container.x + (itemWidth + margin), _mask.x);
TweenMax.to(container, 0.3, {x:Math.floor(tx)});
}
}
private function slideRight(event:MouseEvent):void {
if(!TweenMax.isTweening(container)) {
var tx:Number = Math.max(container.x - (itemWidth + margin), _mask.x - (container.width - _mask.width);
TweenMax.to(container, 0.3, {x:Math.floor(tx)});
}
}
祝你好运!