Да, к сожалению я не смог реализовать этот вариант. У меня явные проблемы в функциях и замыканиях, по крайней мере выходит ошибка на строке 45
Uncaught SyntaxError: Unexpected token ) :45:
<!DOCTYPE>
<html>
<head>
<meta charset="UTF-8">
<title>Interval</title>
<style type="text/css">
span{
display: inline-block;
width: 20px;
text-align: center;
}
.spanAvtive {
border: 3px red solid;
}
.clearfix:after {
content: ".";
display: block;
clear: both;
visibility: hidden;
line-height: 0;
height: 0;
}
.clearfix {
display: inline-block;
}
html[xmlns] .clearfix {
display: block;
}
* html .clearfix {
height: 1%;
}
</style>
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script>
function clearAllIntervals(){
var lastID = 0;
return function(){
var currentID = setInterval(function(){}, 2000);
for(var id = currentID; id > lastID; id--){
clearInterval(id);
};
lastID = currentID;
};
} /* () */;
function fTimerStart(eDiv, iIndexActive){
eSpanSum = eDiv.querySelectorAll('span');
var fSliderTimer = setInterval(function(){
eSpanSum[iIndexActive].classList.remove('spanAvtive');
if(iIndexActive == 9){
iIndexActive = 0;
}else{
iIndexActive++;
};
eSpanSum[iIndexActive].classList.add('spanAvtive');
}, 2000);
$('.eButtonNext').click(function(){
clearAllIntervals();
eSpanSum[iIndexActive].classList.remove('spanAvtive');
if(iIndexActive == 9){
iIndexActive = 0;
}else{
iIndexActive++;
};
eSpanSum[iIndexActive].classList.add('spanAvtive');
fTimerStart(eDiv, iIndexActive);
});
};
window.onload = function(){
var iIndexActive = 0;
var eDiv = document.querySelectorAll('.b-container')[0];
for(i=0;i<10;i++){
var eSpan = document.createElement('span');
if(i==0){
eSpan.classList.add('spanAvtive');
};
var eTextNode = document.createTextNode(i);
eDiv.appendChild(eSpan);
eSpan.appendChild(eTextNode);
};
fTimerStart(eDiv, iIndexActive);
};
</script>
</head>
<body>
<div class="b-container"></div>
<div>
<input type="button" value="next" class="eButtonNext" />
</div>
</body>
</html>
Закомментировав скобки (я так понимаю они называются замыкание?) основная проблема не решилась.