смяна на div на 2 секунди?

loscho

Registered
Привет,

Несъм много в час още с javascript и за това се нуждая от малко помощ!

Имам 6 резултата <div id="jmt1">
<div id="jmt2">
<div id="jmt3">... <div id="jmt6">

В началото е селектиран див 1 чрез class="selected"
как мога на всеки 2 сек. да се селектират следващите дивове?

Ето кодът грижещ се за показването на дива след селект от потребител:

$(document).ready(function(){

var speed=500;
var min_height=25;
var max_height=200;

var class_ = $(this).attr('class');
if(class_ !='selected'){
$('#menu_holder ul li').hide({ height : min_height }, { queue:false , duration:speed});
$('#menu_holder ul li').animate({ height : min_height }, { queue:false , duration:speed});
$('.selected').animate( { height : max_height }, { queue:false , duration:speed});
}

$('.selected').animate( { height : max_height } );
$('#menu_holder ul li').hover(function(){
$(this).animate({ height : max_height }, { queue:false , duration:speed});
$(this).siblings().animate({ height : min_height }, { queue:false , duration:speed});
});
});

Благодаря предварително!
 
Мога да ти го кажа като логика, но като js ти да си го донаправиш.
Така : имаш див който е selected , след като вземеш следвашия след selected направи него selected , a всички други махни selected, като всички други се взимат като масив.
 
Стъпка #1 - извеждаш кода като отделна функция:

Код:
function change(){
   ....
}


Стъпка #2 - когато документа е зареден, извикваш функцията:

Код:
$(document).ready(function(){
   change();
});

Стъпка #3 - за да стане магията за смяна на всеки две секунди, в края на новата функцията задаваш правилото след две секунди, функцията да се извика отново:

Код:
function change(){
   ....

  setTimeout(change, 2000);
}

Трябва обаче малко да си поиграеш със селектора, защото този код няма да сработи от раз:

Код:
var class_ = $(this).attr('class');

Вероятно ще ти помогне нещо от сорта на:

Код:
$("#menu_holder ul li.selected").next()
 
shterev каза:
Мога да ти го кажа като логика, но като js ти да си го донаправиш.
Така : имаш див който е selected , след като вземеш следвашия след selected направи него selected , a всички други махни selected, като всички други се взимат като масив.

И аз нещо такова се опитах да направя и единственото което се получи, е че всичко беше селектирано! :)

Мерси все пак!
 
exec каза:
Стъпка #1 - извеждаш кода като отделна функция:

Код:
function change(){
   ....
}


Стъпка #2 - когато документа е зареден, извикваш функцията:

Код:
$(document).ready(function(){
   change();
});

Стъпка #3 - за да стане магията за смяна на всеки две секунди, в края на новата функцията задаваш правилото след две секунди, функцията да се извика отново:

Код:
function change(){
   ....

  setTimeout(change, 2000);
}

Трябва обаче малко да си поиграеш със селектора, защото този код няма да сработи от раз:

Код:
var class_ = $(this).attr('class');

Вероятно ще ти помогне нещо от сорта на:

Код:
$("#menu_holder ul li.selected").next()

Да, това ми изглежда много логично даже ме хвана яд, че не се сетих аз!

Ще поработя върху предложението ти и ще кажа до къде съм стигнал, като забия тотално. Ако не напиша нищо значи всичко е ок !
:D
П.П. Последното беше шегичка!
 

Back
Горе