From 2c8bd8c9a30888c048a5282e31ae95cf98fd80d7 Mon Sep 17 00:00:00 2001 From: wuhy Date: Fri, 11 Sep 2015 08:47:13 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=BD=AE=E6=92=AD=E5=9B=BE?= =?UTF-8?q?=E5=8A=A8=E7=94=BB=E4=B8=BAopacity=E5=B1=95=E7=8E=B0=E5=9B=BE?= =?UTF-8?q?=E7=89=87=E9=A1=BA=E5=BA=8F=E9=97=AE=E9=A2=98=E5=8F=8Aie8?= =?UTF-8?q?=E4=B8=8D=E8=83=BD=E6=BB=91=E5=8A=A8=E9=97=AE=E9=A2=98#81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/css/Slider.less | 3 ++- src/ui/SliderAnim.js | 45 ++++++++++++++++++++++---------------------- 2 files changed, 24 insertions(+), 24 deletions(-) diff --git a/src/css/Slider.less b/src/css/Slider.less index 6f4dedd..1f7cd32 100644 --- a/src/css/Slider.less +++ b/src/css/Slider.less @@ -21,10 +21,11 @@ //舞台 &-stage { position: relative; - _width: @moye-slider-width; + width: @moye-slider-width; height: @moye-slider-height; overflow: hidden; white-space: nowrap; + word-wrap: normal; } &-item { diff --git a/src/ui/SliderAnim.js b/src/ui/SliderAnim.js index 23ec013..f8e44ee 100644 --- a/src/ui/SliderAnim.js +++ b/src/ui/SliderAnim.js @@ -494,7 +494,13 @@ define(function (require) { initialize: function (slider, options) { this.$parent(slider, options); - slider.helper.addPartClasses('stage-opactiy'); + + // 绝对定位时候,默认展现是最后一张图片,这里重置为第一张图片 + var me = this; + slider.on('afterrender', function () { + me.beforeSwitch(0, -1); + slider.helper.addPartClasses('stage-opactiy'); + }) }, /** @@ -503,37 +509,30 @@ define(function (require) { * @param {number} index 指定的索引 * @protected */ - beforeSwitch: function (index) { - + beforeSwitch: function (index, lastIndex) { var slider = this.slider; var helper = slider.helper; var childNodes = $(slider.stage).children(); - var l = childNodes.length; + var topClass = helper.getPartClassName('top'); + var coverClass = helper.getPartClassName('cover'); - if (lib.isUndefined(this.index)) { - this.index = l - 1; + if (!lib.isUndefined(this.coverIndex)) { + $(childNodes[this.coverIndex]) + .removeClass(coverClass); } - if (lib.isUndefined(this.lastIndex)) { - this.lastIndex = l - 1; + if (lastIndex >= 0) { + this.coverIndex = lastIndex; + $(childNodes[lastIndex]) + .addClass(coverClass) + .removeClass(topClass); } - // 还原当前元素 - this.setOpacity(childNodes[this.index], 1); - - // 移出顶层元素 - $(childNodes[this.index]).removeClass(helper.getPartClassName('top')); - // 将顶层元素作为背景 - $(childNodes[this.lastIndex]).removeClass(helper.getPartClassName('cover')); - // 移出背景元素 - $(childNodes[this.index]).addClass(helper.getPartClassName('cover')); - - this.lastIndex = this.index; - // 设置当前元素 - $(childNodes[this.index = index]).addClass(helper.getPartClassName('top')); - - this.setOpacity(this.curElement = childNodes[index], 0); + $(childNodes[index]).addClass(topClass); + if (lastIndex >= 0) { + this.setOpacity(this.curElement = childNodes[index], 0); + } }, /**