Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Не получается setTimeout (https://javascript.ru/forum/dom-window/29913-ne-poluchaetsya-settimeout.html)

deputat333 24.07.2012 23:42

Вложений: 1
К сожалению не сработало... Алерты не выбили, вот что пишет:

Deff 24.07.2012 23:46

deputat333,
У Вас походу значение TimerId_02 и TimerId_01 - не цифровое - либо не задаётся в скрипте - вы должны его передавать в качестве цифры при вызове функции
И вообще очередной топик - секс по телефону - выложите ссылку на тестовую страницу или воткните в топик полный контент с HTML

deputat333 24.07.2012 23:51

Сейчас сделаю умножение

deputat333 25.07.2012 00:08

Вложений: 1
Не помогло. Вот полный код компонента. Прошу помощи.

Deff 25.07.2012 02:18

deputat333,
Весь Ваш скрипт:
$(document).ready(function(){
var MinTime=300;
var timerID=[];

function TimeShoWYes (ID) {
    $("#"+ID+" > div[id^='droptab']").fadeIn(300);
    $("#"+ID+" > div[id^='mmenu']").fadeIn(100);
}
function TimeHideYes (ID) {
    $("#"+ID+" > div").fadeOut(100);
}
 
    $("#menu_main > div[id^='mmenu']").mouseenter(function(){
	 var ID = $(this).attr("id");
         var indeX = $("#menu_main > div[id^='mmenu']").index(this);
         clearTimeout(timerID[2*indeX+1]);
         timerID[2*indeX]=setTimeout(function() {TimeShoWYes(ID)},MinTime)
 
    }).mouseleave(function(){
	 var ID = $(this).attr("id");
         var indeX = $("#menu_main > div[id^='mmenu']").index(this);
         clearTimeout(timerID[2*indeX])
         timerID[2*indeX+1]=setTimeout(function() {TimeHideYes(ID)},MinTime)

    })
});

На будущее (Не ставьте нумерацию в середину id или класса
2. id - достаточно на один родительский блок элемента, с которым работаем, остальные потомки-селекторы лучше делать классами без нумераций

Deff 25.07.2012 02:46

С такой поправкой - забавней смотриться:
<style type="text/css">
div[id^="droptab"]{
 top: 187px!important;
 margin-top: -130px!important;
}
</style>
<script>
$(document).ready(function(){
var MinTime=300;
var timerID=[];

function TimeShoWYes (ID) {
    $("#"+ID+" > div[id^='droptab']").slideDown(600);
    $("#"+ID+" > div[id^='mmenu']").fadeIn(100);
}
function TimeHideYes (ID) {
    $("#"+ID+" > div").fadeOut(100);
}
 
    $("#menu_main > div[id^='mmenu']").mouseenter(function(){
	 var ID = $(this).attr("id");
         var indeX = $("#menu_main > div[id^='mmenu']").index(this);
         clearTimeout(timerID[2*indeX+1]);
         timerID[2*indeX]=setTimeout(function() {TimeShoWYes(ID)},MinTime)
 
    }).mouseleave(function(){
	 var ID = $(this).attr("id");
         var indeX = $("#menu_main > div[id^='mmenu']").index(this);
         clearTimeout(timerID[2*indeX])
         timerID[2*indeX+1]=setTimeout(function() {TimeHideYes(ID)},MinTime)

    })
});
</script>


http://hostjs-mybb2011.narod.ru/deputat.html

deputat333 25.07.2012 12:42

Мастер-класс от Deff'а)
Спасибо Вам огромное!
Заработаю денег приеду к вам на стажировку)


Часовой пояс GMT +3, время: 10:12.