Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.12.2012, 17:30
Новичок на форуме
Отправить личное сообщение для berap Посмотреть профиль Найти все сообщения от berap
 
Регистрация: 03.12.2012
Сообщений: 3

Слайдер с Случайным контентом из списка.
Я нашел скрипт который выводит контент по рандому.

Но у него нет кнопок. А мне нужно чтоб была возможность менять картинки кнопками.

Попытался сделать их но что то не вышло.

Помогите пожалуйста исправить.
<!--BANNER HEADINGS FOR index.html-->
        <div class="banner-slide-wrapper">
            <div class="banner-slide-ie-fix">
            </div>
        </div>
        <!--BANNER PICTURE FOR index.html-->
        <ul id="banner-slide-images">
            <li class="banner-slide-1"></li>
            <li class="banner-slide-2"></li>
            <li class="banner-slide-3"></li>
            <li class="banner-slide-4"></li>
            <li class="banner-slide-5"></li>
            <li class="banner-slide-6"></li>
            <li class="banner-slide-7"></li>
        </ul>
    
        <!--BANNER CONTROLS-->
	<div id="controls">   
        	<a href="#" id="control-left">
            <div class="control-left" onclick="function(getRan())"></div>
       	    </a>
            <a href="#" id="control-left">
            <div class="control-right" onclick="function(show)"></div>
            </a>
            <div class="control-left-triangle-top"></div>
			<div class="control-left-triangle-bottom"></div>
			<div class="control-right-triangle-top"></div>
			<div class="control-right-triangle-bottom"></div>
	</div>

this.randomtip = function(){

	var pause = 4000; // define the pause for each tip (in milliseconds) Feel free to make the pause longer so users can have time to read the tips :)
	var length = $("#banner-slide-images li").length; 
	var temp = -1;		

	this.getRan = function(){
		// get the random number
		var ran = Math.floor(Math.random()*length) + 1;
		return ran;
	};
    
	this.show = function(){
		var ran = getRan();
		// to avoid repeating tips we need to check 
		while (ran == temp){
			ran = getRan();
		}; 
		temp = ran;
		$("#banner-slide-images li").hide();	
		$("#banner-slide-images li:nth-child(" + ran + ")").fadeIn("fast");	     
	};
    
		$("#control-left").click(function(){
		$("#banner-slide-images li").hide();
		$("#banner-slide-images li:nth-child(" + temp + ")").fadeIn("fast");	
		});

		$("#control-right").click(function(){
		$("#banner-slide-images li").hide();
        $("#banner-slide-images li:nth-child(" + ran + ")").fadeIn("fast");
		});      
    
	// initiate the script and also set an interval
	show(); setInterval(show,pause);
};
    
$(document).ready(function(){	
	randomtip();
});
Ответить с цитированием
  #2 (permalink)  
Старый 04.12.2012, 10:37
Аватар для Tek
Tek Tek вне форума
Профессор
Отправить личное сообщение для Tek Посмотреть профиль Найти все сообщения от Tek
 
Регистрация: 22.02.2012
Сообщений: 212

Есть где в онлайне посмотреть? +не хватает сброса счетчика:
//Если картинки по клику выбраться случайно, объединяем их	
$("#control-right, #control-left").click(function(){
$("#banner-slide-images li").hide();
    //не получаешь новое значение ran
    while (ran == temp){
        ran = getRan();
    };  
    clearInterval(interval);//обнуляем таймер 
    interval = setInterval(show,pause);
    $("#banner-slide-images li:nth-child(" + ran + ")").fadeIn("fast");
});
на клик. забыл для обнуления интервала его нужно присваивать в переменную, замени show(); setInterval(show,pause); на:
show(); var interval = setInterval(show,pause);

Последний раз редактировалось Tek, 04.12.2012 в 10:51.
Ответить с цитированием
  #3 (permalink)  
Старый 04.12.2012, 12:26
Новичок на форуме
Отправить личное сообщение для berap Посмотреть профиль Найти все сообщения от berap
 
Регистрация: 03.12.2012
Сообщений: 3

Спасибо большое за помощь. Надо учить JS и jQuery(

Сейчас сделал вот так вот следуя вашим советам.

Попытался сделать чтоб сохранялась последняя позиция чтоб кнопка назад работала нормально.
Но не всегда работает правильно не знаю почему.
this.randomImg = function(){

	var pause = 4000; // define the pause for each tip (in milliseconds) Feel free to make the pause longer so users can have time to read the tips :)
	var length = $("#banner-slide-images li").length; 
	var temp = -1; 
    var temp2 = 0;
    
	this.getRan = function(){
		// get the random number
		var ran = Math.floor(Math.random()*length) + 1;
		return ran;
	};
    
this.show = function(){
   var ran = getRan();
   // to avoid repeating tips we need to check
   temp2 = temp;
   while (ran == temp){
   ran = getRan();
   };
   temp = ran;
   $("#banner-slide-images li").hide();   
   $("#banner-slide-images li:nth-child(" + ran + ")").fadeIn("fast");     
};    
	
$("#control-left").click(function(){
$("#banner-slide-images li").hide();
    clearInterval(interval);//обнуляем таймер 
    interval = setInterval(show,pause);
    $("#banner-slide-images li:nth-child(" + temp2 + ")").fadeIn("fast");
});

$("#control-right").click(function(){
clearInterval(interval);//обнуляем таймер 
interval = setInterval(show,pause);
var ran = getRan();
temp2 = temp;
while (ran == temp){
ran = getRan();
};
temp = ran;
$("#banner-slide-images li").hide();
$("#banner-slide-images li:nth-child(" + ran + ")").fadeIn("fast");
}); 
    
	// initiate the script and also set an interval
	show(); var interval = setInterval(show,pause);
};
    
$(document).ready(function(){	
	randomImg();
});

Последний раз редактировалось berap, 04.12.2012 в 12:47.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
самозакрывающееся меню в виде списка о_О dimitar Элементы интерфейса 4 20.03.2012 15:27
Динамическое добавление выпадающего списка В IE stepennwolf Internet Explorer 3 04.11.2011 17:36
Нужно отредактировать слайдер glavkot Работа 0 22.08.2011 14:14
Заполнить список значениями из динамически созданного выпадающего списка zhuzha Элементы интерфейса 0 17.08.2010 14:40
Динамическое обновление списка select (продолжение мытарств) macam Элементы интерфейса 2 25.06.2008 16:04