Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Время события

Сообщения:  [1-10]   [11-11] 

 
 автор: Aidaho   (11.05.2012 в 15:52)   письмо автору
 
   для: bishake   (11.05.2012 в 15:48)
 

>так и setInterval.
setInterval..... БЛииииииин!!! совсем о нем забыл (((((

фак! фак! лишний час промучился... ((

Спасибо большое! )

  Ответить  
 
 автор: bishake   (11.05.2012 в 15:48)   письмо автору
 
   для: Aidaho   (11.05.2012 в 15:40)
 

Вы не правы. Скопируйте мой код и запустите. Не используйте циклы и любые другие функции, только объявите свои переменные (path, logoLength, logo...). Обратите внимание, что там используется как setTimeout, так и setInterval.

  Ответить  
 
 автор: Aidaho   (11.05.2012 в 15:40)   письмо автору
 
   для: bishake   (11.05.2012 в 15:18)
 

>Не, перемудрили Вы. Ненужны никакие onMouseOver'ы и changeLogo().
Да, можно запихать все в одну функцию. )

Но сейчас дело не в этом, а в том, что не прокручиваются лого при задержки курсора на нем. Если сделать как Вы предложили, то получается, что при наведении меняется, при задержки прокручивается еще раз. Цикла ж нет, а с циклом идет сразу до упора не показывая все... (

  Ответить  
 
 автор: bishake   (11.05.2012 в 15:18)   письмо автору
 
   для: Aidaho   (11.05.2012 в 14:56)
 

Не, перемудрили Вы. Ненужны никакие onMouseOver'ы и changeLogo().
Всё можно проще сделать:
//<? 
var tOuttInt;
var 
curr 0;
var 
logoLength 10
jQuery('#logo').hover(function() {  
    
tOut setTimeout( function() { 
        
tInt setInterval( function() {
            
jQuery('#logo').attr('src'path+logo[curr]); 
            
curr = (curr+1)%logoLength;
        }, 
1000);
    }, 
3000 );  
}, function() {   
    
clearTimeout(tOut);
    
clearInterval(tInt);
})

  Ответить  
 
 автор: Aidaho   (11.05.2012 в 14:56)   письмо автору
 
   для: bishake   (11.05.2012 в 14:49)
 

>Вероятно так:
так убегает в undefine.

Я хочу что бы лого менялись с задержкой в 1 секунду при наведенном курсоре. Как сделал я они просто прокручиваются до последнего и все, хотя и стоит задержка в 1 секунду.

Что бы было понятно функция ченджЛого:


var i;
function changeLogo(i) {
    i++;
    if(i <= logoLength) {
        jQuery('#logo').attr('src', path+logo[i]);
        jQuery('#logo').attr('onMouseOver', 'changeLogo(' + i + ')');
        } else {
            i = 0;
            jQuery('#logo').attr('src', path+logo[0]);
            jQuery('#logo').attr('onMouseOver', 'changeLogo(' + i + ')');
            }
    }


Ну а пытаюсь сделать так:

jQuery('#logo').hover(
        function() {

            hovers = setTimeout(function() {
                for(var j = i; j <= logoLength; j++) {
                    hovers1 = setTimeout(function() {
                        changeLogo(j);
                    }, 1000 );
                }
        }, 3000 );
    },


Если в цикле j = i, то в ответ тишина, а если j = 0, то до последнего прокручивается не показывая предыдущие лого и встает в последнее с задержкой

  Ответить  
 
 автор: bishake   (11.05.2012 в 14:49)   письмо автору
 
   для: Aidaho   (11.05.2012 в 14:35)
 

> Я тоже не мог зачем даты были нужны. А зачем они были нужны? ))
Даты предполагались в качестве уникальных идентификаторов таймаутов. Этот вариант помог бы, если бы таймаутов было бы несколько... Но я позже сообразил, что для Вашего случая нужен только один таймаут, и исправил :)

> Как сделать вывод по очереди лого?
Вероятно так:
//<?
var tOut;
var 
logo 1;
$(
'#logo').hover(function() { 
    var 
that = $(this); 
    
tOut setTimeout( function() { changeLogologo ); logo logo%logoLength+1; }, 3000 ); 
}, function() {  
    
clearTimeout(tOut);  
})

  Ответить  
 
 автор: Aidaho   (11.05.2012 в 14:35)   письмо автору
 
   для: bishake   (11.05.2012 в 14:29)
 

Я тоже не мог зачем даты были нужны. А зачем они были нужны? ))

И можно еще 1 вопросик? Уже более глупый. Как сделать вывод по очереди лого? По типу, как у меня в функции...

  Ответить  
 
 автор: bishake   (11.05.2012 в 14:29)   письмо автору
 
   для: Aidaho   (11.05.2012 в 14:21)
 

Пардон, я тот первый вариант исправил. Посмотрите, как сейчас в моём ответе написано.

  Ответить  
 
 автор: Aidaho   (11.05.2012 в 14:21)   письмо автору
 
   для: bishake   (11.05.2012 в 13:11)
 

Как-то не правильно она работает.
Функция запускается при любом наведении на объект и при этом не перестает работать.

У меня так:

var hovers = {};
var hovers1 = {};
jQuery(document).ready(function(){
    jQuery('#logo').hover(
        function() {
            var t = new Date();
            jQuery(this).data('hover', t);
            hovers = setTimeout(function() {
                for(var i = 0; i <= logoLength; i++) {
                    hovers1 = setTimeout(function() {
                        changeLogo(i);
                    }, 1000 );
                }
        }, 3000 );
    },
    function() {
        var t = jQuery(this).data('hover');
        clearTimeout(hovers[t]);
        clearTimeout(hovers1[t]);
        delete hovers[t];
        delete hovers1[t];
        jQuery(this).data('hover', '');
    });
});

  Ответить  
 
 автор: bishake   (11.05.2012 в 13:11)   письмо автору
 
   для: Aidaho   (11.05.2012 в 12:55)
 

Как-то так:
var tOut;
$('.any').hover(function() {
    var that = $(this);
    tOut = setTimeout( function() { that.addClass('hover'); }, 3000 );
}, function() { 
    clearTimeout(tOut); 
    $(this).removeClass('hover');
})

  Ответить  

Сообщения:  [1-10]   [11-11] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования