Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.06.2016, 15:37
Аспирант
Отправить личное сообщение для korih Посмотреть профиль Найти все сообщения от korih
 
Регистрация: 02.06.2016
Сообщений: 36

упорядочение чисел из целого числа
Здравствуйте ребята. столкнулся с проблемой. пишу свой слайдер. с этим проблем нет, проблема выросла когда дошёл до выведения ссылок слайдера, к примеру от 1 до ... зависимо сколько слайдов. у меня есть общее значение слайдов $(".sliders img").size(); к примеру показывает общее значение 3. как мне из этого числа вывести построчно в цикле 1,2,3 ? пробывал через массив и перебор в цикле for. всё чего я добился это array[3], array[3], array[3]. может определённая функция есть? или я не в том направлении думаю( направьте на путь истенный

для наглядности сам скрипт:
$(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);
	});

 	
});

Последний раз редактировалось korih, 02.06.2016 в 15:57.
Ответить с цитированием
  #2 (permalink)  
Старый 02.06.2016, 16:13
Аватар для Botik21
Аспирант
Отправить личное сообщение для Botik21 Посмотреть профиль Найти все сообщения от Botik21
 
Регистрация: 01.06.2016
Сообщений: 87

Боземой а слайдер уже пишет.

Способ раз:
(new Array(slideCount)).forEach(function(el, i) {
  console.log(i+1);
});
Способ два:
for (var i = 1; i <= slideCount; ++i) {
  console.log(i);
}

Хотя я что-то не уверен что вам надо было именно число, но в посте конкретики нет.

Последний раз редактировалось Botik21, 02.06.2016 в 16:16.
Ответить с цитированием
  #3 (permalink)  
Старый 02.06.2016, 16:21
Аспирант
Отправить личное сообщение для korih Посмотреть профиль Найти все сообщения от korih
 
Регистрация: 02.06.2016
Сообщений: 36

спасибо вам большое, работает. знаю, что данная проблема мелочная, но на чём только нельзя застрять) Botik21 заодно может оцените сам скрипт? я далеко не бог в js и хотелось бы услышать критику, по данному "слайду"
Ответить с цитированием
  #4 (permalink)  
Старый 02.06.2016, 16:40
Аватар для Botik21
Аспирант
Отправить личное сообщение для Botik21 Посмотреть профиль Найти все сообщения от Botik21
 
Регистрация: 01.06.2016
Сообщений: 87

Интервал пишется в глобальную переменную.
slideNum-=1;
декремент же есть
Таймауты можно заменить на delay() https://api.jquery.com/delay/
Функции у slideInterval и для next одинаковые – я бы объединил.
Значение $(".slideBar") запихать в переменную, чтобы jQ не искал её каждый раз.
В остальном для собственного пользования вполне пойдёт
Да, и первая строчка не нравится )
jQuery(function($) {

Последний раз редактировалось Botik21, 02.06.2016 в 17:00.
Ответить с цитированием
  #5 (permalink)  
Старый 02.06.2016, 21:15
Аспирант
Отправить личное сообщение для korih Посмотреть профиль Найти все сообщения от korih
 
Регистрация: 02.06.2016
Сообщений: 36

Спасибо, учту я ещё новичок в js, писал слайдер пользуясь арсеналом функций которые знал и написание алгоритма)
Ответить с цитированием
  #6 (permalink)  
Старый 02.06.2016, 21:23
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,055

korih,
Сообщение от korih
interval = setInterval(slideInterval, 4000);

$(".slider").hover(function(){
interval = clearInterval(interval);
}, function(){
interval = setInterval(slideInterval, 4000);
});
var interval = setInterval(slideInterval, 4000);

	$(".slider").hover(function(){
		clearInterval(interval);
	}, function(){ 
		interval = setInterval(slideInterval, 4000);
	});
Ответить с цитированием
  #7 (permalink)  
Старый 07.06.2016, 02:43
Аспирант
Отправить личное сообщение для korih Посмотреть профиль Найти все сообщения от korih
 
Регистрация: 02.06.2016
Сообщений: 36

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);
		});
собственно для чего и нужен был перебор цифр, для навигации)
Ответить с цитированием
  #8 (permalink)  
Старый 07.06.2016, 15:33
Аватар для Botik21
Аспирант
Отправить личное сообщение для Botik21 Посмотреть профиль Найти все сообщения от Botik21
 
Регистрация: 01.06.2016
Сообщений: 87

А для чего переменная arr?
Ответить с цитированием
  #9 (permalink)  
Старый 07.06.2016, 18:11
Аспирант
Отправить личное сообщение для korih Посмотреть профиль Найти все сообщения от korih
 
Регистрация: 02.06.2016
Сообщений: 36

ну да, массив оказался лишним, согласен
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
JS задача. Взаимно простые числа sashok Общие вопросы Javascript 5 23.11.2014 10:16
Разделение разрядов числа с помощью AJAX VolodinAS AJAX и COMET 7 08.11.2013 17:34
НОД более чем 2-х чисел Demath Общие вопросы Javascript 4 06.01.2013 04:27
решил изучить javascript JSjunior Оффтопик 29 22.08.2012 12:14
Сложение дробных чисел demoniqus Общие вопросы Javascript 2 10.01.2012 20:15