упорядочение чисел из целого числа
Здравствуйте ребята. столкнулся с проблемой. пишу свой слайдер. с этим проблем нет, проблема выросла когда дошёл до выведения ссылок слайдера, к примеру от 1 до ... зависимо сколько слайдов. у меня есть общее значение слайдов $(".sliders img").size(); к примеру показывает общее значение 3. как мне из этого числа вывести построчно в цикле 1,2,3 ? пробывал через массив и перебор в цикле for. всё чего я добился это array[3], array[3], array[3]. может определённая функция есть? или я не в том направлении думаю( направьте на путь истенный:help:
для наглядности сам скрипт:
$(document).ready(function($) {
var slideNum = 0;
var slideCount = $(".slideBar").size();
var arr = [slideCount];
for(var i = 0; i<arr;i++){
console.log(arr);
}
$(".slideBar").hide();
$(".slideBar").eq(slideNum).show();
function slideInterval () {
$(".slideBar").animate({opacity:"hide"},500);
if(slideNum == (slideCount-1)){
slideNum=0;
}else{
slideNum++;
}
setTimeout(function(){
$(".slideBar").eq(slideNum).animate({opacity:"show"},500);
}, 500);
};
interval = setInterval(slideInterval, 4000);
$(".slider").hover(function(){
interval = clearInterval(interval);
}, function(){
interval = setInterval(slideInterval, 4000);
});
$("#next").click(function(){
$(".slideBar").animate({opacity:"hide"},500);
if(slideNum == (slideCount-1)){
slideNum=0;
}else{
slideNum++;
}
setTimeout(function(){
$(".slideBar").eq(slideNum).animate({opacity:"show"},500);
}, 500);
});
$("#back").click(function(){
$(".slideBar").animate({opacity:"hide"},500);
if(slideNum == 0){
slideNum = slideCount-1;
}else{
slideNum-=1;
}
setTimeout(function(){
$(".slideBar").eq(slideNum).animate({opacity:"show"},500);
}, 500);
});
});
|
Боземой а слайдер уже пишет.
Способ раз:
(new Array(slideCount)).forEach(function(el, i) {
console.log(i+1);
});
Способ два:
for (var i = 1; i <= slideCount; ++i) {
console.log(i);
}
Хотя я что-то не уверен что вам надо было именно число, но в посте конкретики нет. |
спасибо вам большое, работает. знаю, что данная проблема мелочная, но на чём только нельзя застрять) Botik21 заодно может оцените сам скрипт? я далеко не бог в js и хотелось бы услышать критику, по данному "слайду"
|
Интервал пишется в глобальную переменную.
slideNum-=1;декремент же есть Таймауты можно заменить на delay() https://api.jquery.com/delay/ Функции у slideInterval и для next одинаковые – я бы объединил. Значение $(".slideBar") запихать в переменную, чтобы jQ не искал её каждый раз. В остальном для собственного пользования вполне пойдёт Да, и первая строчка не нравится )
jQuery(function($) {
|
Спасибо, учту:) я ещё новичок в js, писал слайдер пользуясь арсеналом функций которые знал и написание алгоритма)
|
korih,
Цитата:
var interval = setInterval(slideInterval, 4000);
$(".slider").hover(function(){
clearInterval(interval);
}, function(){
interval = setInterval(slideInterval, 4000);
});
|
var arr = [slideCount];
for(var i=0; i < slideCount; i++){
$(".navSliders").append('<div id="'+i+'" class="numberSlide">'+i+'</div>');
}
$(".numberSlide").click(function() {
$(".slideBar").animate({opacity:"hide"},0);
slideNum = $(this).attr('id');
$(".slideBar").eq(slideNum).animate({opacity:"show"},500);
});
собственно для чего и нужен был перебор цифр, для навигации) |
А для чего переменная arr?
|
ну да, массив оказался лишним, согласен
|
| Часовой пояс GMT +3, время: 14:54. |