Closed semi-xi closed 8 years ago
已经增加了一个 data-step-restart 属性 设置为0 就是从0开始
那样来了个奇葩需求来了。我点击测导航的时候才是从0开始,如果仅仅是从鼠标滚动的这样的方式的话还是按照原来倒序上去的办法,那样我是在点击的时候才去动态增加那个data-step-restart 还是怎么样
源码 508 行 修改成 if (arguments[1]) resetStep();
试了下,好像不是很行,而且这样的话就恢复到原来的样子了。
// 456行 goPage = function(to) {
var fix = _fix,
indexOld,
_effectNow,
_isNavBar;
if (options.beforeChange) {
if (options.beforeChange(indexNow, page[indexNow]) === 'stop') {
return;
}
}
if (_isLocked // make sure translate is already
|| to === indexNow) return; // don't translate if thispage
if (options.continuous) {
to = roundPage(to, 1);
} else {
if (to >= pagelen
&& stepNow[indexNow] >= stepArr[indexNow]
|| to < 0
&& stepNow[indexNow] === 0) return;
}
_isLocked = true;
_isNavBar = arguments[1];
if (!_isNavBar && !checkStep(to - indexNow)) {
return setTimeout(function() {
_isLocked = false;
}, sTime);
}
for (_effectNow in effect) {
resetAndRun[_effectNow](effect[_effectNow], indexNow, to);
}
fix += browser.cssCore === '' ? 20 : 0 ;
indexOld = indexNow;
indexNow = to;
if (_isNav) navChange(indexOld, indexNow);
setTimeout(function() {
// fix for bug in ie6-9 about z-index
page[to].className += ' slide';
}, fix);
setTimeout(function() {
pageStyle[to][browser.cssCore + 'TransitionDuration'] = sTime + 'ms';
}, 20);
setTimeout(function() {
if (_isNavBar)resetStep();
replaceClass(page[indexOld], 'current', '');
replaceClass(page[indexNow], 'slide', 'current');
if (options.callback) {
options.callback(indexNow, page[indexNow]);
}
_isLocked = false;
}, sTime + _fix + 120);
}
// 521行
有联系方式么,还有一个问题想请教的,顺便我在你的代码的beforeChange,callback加上了form,to的参数
1.假设我在page2的时候设置steps3 如果我滑动到page3的时候 这个时候是已经执行完了3个steps的。 但是如果我从page3返回到page2的时候。这个是从steps3开始的。按照steps3-stpes2-steps1的顺序。 有没有一个参数设置是 我只要从下一页返回到上一页的时候,就从stpes0开始的。
实际上我想要的效果是每次到达一页都是从stpes0开始。而不是从steps最后一个这样慢慢返回