按钮方法(jsfiddle)
首先,我们将在您的 HTML 中制作一些按钮
<button id="fast">Fast</button>
<button id="normal">Normal</button>
<button id="slow">Slow</button>
<div id="fadey1" class="fadey"></div>
<div id="fadey2" class="fadey"></div>
接下来,我们将绑定按钮上的单击处理程序以更改一些变量,这些变量将替换您在函数中使用的静态毫秒值。
$(document).ready(function () {
var faderIndex = 0,
faderOutSpeed = 2000,
faderInSpeed = 3000,
faders = $('.fadey');
$('button#fast').click(function () {
faderOutSpeed = 200;
faderInSpeed = 300;
});
$('button#normal').click(function () {
faderOutSpeed = 600;
faderInSpeed = 900;
});
$('button#slow').click(function () {
faderOutSpeed = 2000;
faderInSpeed = 3000;
});
function nextFade() {
$(faders[faderIndex]).fadeOut(faderInSpeed, function () {
faderIndex++;
if (faderIndex >= faders.length) faderIndex = 0;
$(faders[faderIndex]).fadeIn(faderOutSpeed, nextFade);
});
}
nextFade();
});
HTML5 范围输入法 ( jsfiddle )
首先,我们将在您的 HTML 中使用默认值和范围限制进行范围输入。
<input id="range" type="range" value="2000" min="200" max="4000" step="200" />
<div id="fadey1" class="fadey"></div>
<div id="fadey2" class="fadey"></div>
接下来,我们将在范围输入上绑定一个更改处理程序,以更改faderSpeed
在淡入淡出动画中用作速度的变量。如果您想要不同的fadeOut
速度值,您可以进行一些计算或添加第二个范围输入。
$(document).ready(function () {
var faderIndex = 0,
faderSpeed = getRangeValue(),
faders = $('.fadey');
$('input#range').change(function () {
faderSpeed = getRangeValue();
});
function getRangeValue() {
return parseInt($('input#range').val(), 10);
}
function nextFade() {
$(faders[faderIndex]).fadeOut(faderSpeed, function () {
faderIndex++;
if (faderIndex >= faders.length) faderIndex = 0;
$(faders[faderIndex]).fadeIn(faderSpeed, nextFade);
});
}
nextFade();
});