Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 18.01.2013, 16:46
Интересующийся
Отправить личное сообщение для IgorArhangel Посмотреть профиль Найти все сообщения от IgorArhangel
 
Регистрация: 14.01.2013
Сообщений: 29

Сообщение от tsigel
В данном примере описываю максимально простой, а не правильный способ.
Спасибо.
Да я понял что Вы имели ввиду. Идея классная, но прикол в том что этот слайдер еще и должен по времени сам листаться.
и еще в чем прикол что картинки которые по бокам должны быть в background, так как ширина не должна превышать 1000 pх.

Почитаю еще документацию. Если что напишу еще!

Пока что спс всем!
Ответить с цитированием
  #12 (permalink)  
Старый 18.01.2013, 21:15
Профессор
Отправить личное сообщение для tsigel Посмотреть профиль Найти все сообщения от tsigel
 
Регистрация: 12.12.2012
Сообщений: 1,398

Данная структура не мешает использовать setTimeout или setInterval. И background-м они тоже вполне могут быть.

О переносе слайдов в начало/конец почитайте про insertAfter(), insertBefore() и appendTo() (методы jQuery)

Последний раз редактировалось tsigel, 18.01.2013 в 21:19.
Ответить с цитированием
  #13 (permalink)  
Старый 18.01.2013, 21:16
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от IgorArhangel
Было супер если бы пример сюда поставить
<script src="http://code.jquery.com/jquery-latest.js"></script>

<style type="text/css">
#Wrap {
 width:480px;
 position:relative;
 text:align:center;
}
#SlideWrp{
  display:inline-block;
}
#Prev,#Next {
  border:red solid 1px;
  padding:2px;
  cursor:pointer;
}
#Prev {
  float:left;
}
#Next {
  float:right;
}
div.Slide {
  //float:left;
  float:right;
  height:100px!important;
  width:200px;
  padding:6px;
  border:blue solid 1px;
}
#SlideWrp {
  height:114px; //height+border+padding;
  overflow-y:hidden;  //не расширение до $(".Slide:not('.active')").hide();
  width:430px;
}
#indexActive{
  float:right;
  margin-right:50px;
  margin-top:10px;
}
span[id^="active_Ind"]{
  float:right;
  border:blue solid 2px;
  height:3px;
  width:3px;
  margin:3px;
}
span[id^="active_Ind"].active{
  border: red solid 2px;
}
</style>



<div id="Wrap">
<span id="Prev">&larr;</span><span id="Next">&rarr;</span>

   <div id="SlideWrp">
      <div class="Slide active">1</div>
      <div class="Slide active">2</div> 
      <div class="Slide">3</div>
      <div class="Slide">4</div>
      <div class="Slide">5</div>
   </div><br />

   <div id="indexActive"></div>
</div>

<script type="text/javascript">
$(document).ready(function(){

   $(".Slide:not('.active')").hide();
   var intervalAutoId;
   var LsL=$(".Slide").length;

   $(".Slide").each(function(i){
     $(this).attr('data',i);
     $("#indexActive").prepend('<span id="active_Ind_'+i+'"></span>')
   });$("#indexActive #active_Ind_0").addClass('active');

 function setIndActive(){
     var j=$(".Slide.active:first").attr('data');
     $("#indexActive span[id^='active_Ind_']").removeClass('active');
     $("#indexActive span[id='active_Ind_"+j+"']").addClass('active');
 }

   $("#Next").click(function(){
     UserNoActSlide=false;
     $(".Slide:first").removeClass('active').hide('slow',function () {$(this).appendTo("#SlideWrp")});
     $(".Slide:eq(2)").addClass('active').show('slow');
     setIndActive();
   });

   $("#Prev").click(function(){
     UserNoActSlide=false;
     $(".Slide.active:last").removeClass('active').hide('slow');
     $(".Slide:last").prependTo("#SlideWrp").addClass('active').show('slow');
     setIndActive()
   });



// АВТОПРОКРУТКА

   var UserNoActSlide=true;
   $("#Wrap").bind('mouseenter mousemove',function(){ //Cброс автозапуска по наведению
      UserNoActSlide=false;//alert("A")
      clearInterval(intervalAutoId);
      UserNoActSlide=false;
    }).mouseleave(function(){                     //Разрешаем автозапуск по сходу курсора
      clearInterval(intervalAutoId);
      UserNoActSlide=true;
    });


     setInterval(function(){                  //Периодический тест активности и автозапуск
       if(UserNoActSlide){
         intervalAutoId=setInterval(function(){
             UserNoActSlide=false;
             $("#Next").click();
             },3000); // Интервал автопрокрутки
        }
       
     },10000);        // Интервал Теста;

});
</script>

Последний раз редактировалось Deff, 19.01.2013 в 08:13.
Ответить с цитированием
  #14 (permalink)  
Старый 20.01.2013, 16:55
Интересующийся
Отправить личное сообщение для IgorArhangel Посмотреть профиль Найти все сообщения от IgorArhangel
 
Регистрация: 14.01.2013
Сообщений: 29

Deff,
Да это оно спасибо огромное...

Есть еще одна проблемка мне для навигации не нужны стрелочки, переход на определенную картинку должен быть при нажатии на нижние квадратики, которые находятся в блоке indexActive

подскажите что прописать в ссылку? вот в этом месте

$(".Slide").each(function(i){
     $(this).attr('data',i);
     $("#indexActive").prepend('<a href=" "><span id="active_Ind_'+i+'">'+(i+1)+'</span></a>')
   });$("#indexActive #active_Ind_0").addClass('active');
Ответить с цитированием
  #15 (permalink)  
Старый 20.01.2013, 17:30
Интересующийся
Отправить личное сообщение для IgorArhangel Посмотреть профиль Найти все сообщения от IgorArhangel
 
Регистрация: 14.01.2013
Сообщений: 29

Как я понял мне надо прописать функцию для клика на id="active_Ind"
Вот что я написал но оно не хочет работать

$("#indexActive span[id^='active_Ind_']").click(function(){
	var goToNum = attr('data');
	animSlide(goToNum);
	});
Ответить с цитированием
  #16 (permalink)  
Старый 20.01.2013, 17:47
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

IgorArhangel,
Чичас гляну... полчаса потерпите
Ответить с цитированием
  #17 (permalink)  
Старый 20.01.2013, 18:25
Интересующийся
Отправить личное сообщение для IgorArhangel Посмотреть профиль Найти все сообщения от IgorArhangel
 
Регистрация: 14.01.2013
Сообщений: 29

и еще интересно если разместить в background картинки.. они большие в ширину 700 пикселей.

ясно дело что на экран не поместятся. С помощью какой функции можно сделать чтоб ширина слайдера была 1000 пх, а отображалась одна картинка по центре а две которые по бокам на половину?
Ответить с цитированием
  #18 (permalink)  
Старый 20.01.2013, 18:31
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

IgorArhangel,
<script src="http://code.jquery.com/jquery-latest.js"></script>

<style type="text/css">
#Wrap {
 width:480px;
 position:relative;
 text:align:center;
}
#SlideWrp{
  display:inline-block;
}
#Prev,#Next {
  border:red solid 1px;
  padding:2px;
  cursor:pointer;
}
#Prev {
  float:left;
}
#Next {
  float:right;
}
div.Slide {
  //float:left;
  float:right;
  height:100px!important;
  width:200px;
  padding:6px;
  border:blue solid 1px;
}
#SlideWrp {
  height:114px; //height+border+padding;
  overflow-y:hidden;  //не расширение до $(".Slide:not('.active')").hide();
  width:430px;
}
#indexActive{
  float:right;
  margin-right:30px;
  margin-top:10px;
}
span[id^="active_Ind"]{
  cursor:pointer;
  float:right;
  border:blue solid 2px;
  height:6px;
  width:6px;
  margin:6px;
}
span[id^="active_Ind"].active{
  border: red solid 2px;
}
</style>



<div id="Wrap">
<span id="Prev">&larr;</span><span id="Next">&rarr;</span>

   <div id="SlideWrp">
      <div class="Slide active">1</div>
      <div class="Slide active">2</div> 
      <div class="Slide">3</div>
      <div class="Slide">4</div>
      <div class="Slide">5</div>
   </div><br />

   <div id="indexActive"></div>
</div>

<script type="text/javascript">
$(document).ready(function(){

   $(".Slide:not('.active')").hide();
   var intervalAutoId;
   var LsL=$(".Slide").length;

   $(".Slide").each(function(i){
     $(this).attr('data',i);
     $("#indexActive").prepend('<span id="active_Ind_'+i+'"></span>')
   });$("#indexActive #active_Ind_0").addClass('active');

 function setIndActive(){
     var j=$(".Slide.active:first").attr('data');
     $("#indexActive span[id^='active_Ind_']").removeClass('active');
     $("#indexActive span[id='active_Ind_"+j+"']").addClass('active');
 }

   $("#Next").click(function(){
     UserNoActSlide=false;
     $(".Slide:first").removeClass('active').hide('slow',function () {$(this).appendTo("#SlideWrp")});
     $(".Slide:eq(2)").addClass('active').show('slow');
     setIndActive();
   });

   $("#Prev").click(function(){
     UserNoActSlide=false;
     $(".Slide.active:last").removeClass('active').hide('slow');
     $(".Slide:last").prependTo("#SlideWrp").addClass('active').show('slow');
     setIndActive()
   });


   $("#indexActive > span[id^='active_Ind']").click(function(){
     UserNoActSlide=false;
     $("#indexActive span[id^='active_Ind_']").removeClass('active');
     $(this).addClass('active');
     var Id= '' + $(this).attr('id').substring(11);//alert(Id);
   $(".Slide").each(function(i){
     if($(this).attr('data')==Id) return false;
     $(this).appendTo("#SlideWrp");
   });

     $(".Slide.active:first").removeClass('active').hide();
     $(".Slide:eq(0)").addClass('Preactive').show('slow');

     $(".Slide.active:last").removeClass('active').hide();
     $(".Slide:eq(1)").show('slow').addClass('active');
     $(".Slide:eq(0)").show('slow').toggleClass('Preactive,active');

   });

// АВТОПРОКРУТКА

   var UserNoActSlide=true;
   $("#Wrap").bind('mouseenter mousemove',function(){ //Cброс автозапуска по наведению
      UserNoActSlide=false;//alert("A")
      clearInterval(intervalAutoId);
      UserNoActSlide=false;
    }).mouseleave(function(){                     //Разрешаем автозапуск по сходу курсора
      clearInterval(intervalAutoId);
      UserNoActSlide=true;
    });


     setInterval(function(){                  //Периодический тест активности и автозапуск
       if(UserNoActSlide){
         intervalAutoId=setInterval(function(){
             UserNoActSlide=false;
             $("#Next").click();
             },3000); // Интервал автопрокрутки
        }
       
     },10000);        // Интервал Теста;

});
</script>


Сообщение от IgorArhangel
и еще интересно если разместить в background
картинки.. они большие в ширину 700 пикселей.
1. Сделайте скриншот текущего слайдера и врисуйте туда картинки
2. Укажите нужные высоту и ширину картинок( пока только ширина)
Сообщение от IgorArhangel
С помощью какой функции можно сделать чтоб ширина слайдера была 1000 пх, а отображалась одна картинка по центре а две которые по бокам на половину?
Тож самое = скриншот - эскиз (И тут седни еще пару вещей обещал

Последний раз редактировалось Deff, 20.01.2013 в 18:36.
Ответить с цитированием
  #19 (permalink)  
Старый 20.01.2013, 18:55
Интересующийся
Отправить личное сообщение для IgorArhangel Посмотреть профиль Найти все сообщения от IgorArhangel
 
Регистрация: 14.01.2013
Сообщений: 29

Сообщение от Deff
1. Сделайте скриншот текущего слайдера и врисуйте туда картинки
2. Укажите нужные высоту и ширину картинок( пока только ширина)
привожу скриншот


картинки которые не помещаются они будут но за экраном.. на картинке нарисован экран монитора... если монитор будет большой будет влазить большая часть изображения.

Огромное спасибо за помощь!!!
Ответить с цитированием
  #20 (permalink)  
Старый 20.01.2013, 18:58
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от IgorArhangel
Есть еще одна проблемка мне для навигации не нужны стрелочки,
Скройте сss
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Установка слайд шоу CJ Flashy Slide Show 1.1.3 vadimos_gre Элементы интерфейса 0 29.10.2012 15:38
Слайд шоу, видеозаписи 123456789igor Общие вопросы Javascript 1 27.08.2012 16:03
Простой слайд картинок jQuery cssme jQuery 1 11.05.2011 17:41
Как сделать слайд шоу mdiimas jQuery 6 27.08.2010 20:40
проблема со слайд шоу, помогите пожалуйста. Ketch_Ozzy Общие вопросы Javascript 5 15.05.2009 23:34