За последние 24 часа нас посетили 17483 программиста и 1690 роботов. Сейчас ищут 965 программистов ...

setTimeout("statr_go()", 5000)

Тема в разделе "PHP и базы данных", создана пользователем Vantedur, 24 дек 2010.

  1. Vantedur

    Vantedur Активный пользователь

    С нами с:
    9 июл 2010
    Сообщения:
    779
    Симпатии:
    2
    Ребят, никак не могу понять как заставить эту функцию автоматически запускаться и срабатывать каждые 5 секунд

    [js]$(window).load(function(){
    var supportCanvas = 'getContext' in document.createElement('canvas');
    var slides = $('#slideshow li'),
    current = 0,
    slideshow = {width:0,height:0};
    setTimeout(function(){
    window.console && window.console.time && console.time('Generated In');
    if(supportCanvas){
    $('#slideshow img').each(function(){
    if(!slideshow.width){
    slideshow.width = this.width;
    slideshow.height = this.height;
    }
    createCanvasOverlay(this);
    });
    }
    window.console && window.console.timeEnd && console.timeEnd('Generated In');
    $('#slideshow .arrow').click(function(){
    var li = slides.eq(current),
    canvas = li.find('canvas'),
    nextIndex = 0;
    nextIndex = current >= slides.length-1 ? 0 : current+1;
    var next = slides.eq(nextIndex);
    if(supportCanvas){
    canvas.fadeIn(function(){
    next.show();
    current = nextIndex;
    li.fadeOut(function(){
    li.removeClass('slideActive');
    canvas.hide();
    next.addClass('slideActive');
    });
    });
    }
    else {
    current=nextIndex;
    next.addClass('slideActive').show();
    li.removeClass('slideActive').hide();
    }
    });
    },100);
    function createCanvasOverlay(image){
    var canvas = document.createElement('canvas'),
    canvasContext = canvas.getContext("2d");
    canvas.width = slideshow.width;
    canvas.height = slideshow.height;
    canvasContext.drawImage(image,0,0);
    var imageData = canvasContext.getImageData(0,0,canvas.width,canvas.height),
    data = imageData.data;
    for(var i = 0,z=data.length;i<z;i++){
    data = ((data < 128) ? (2*data*data / 255) : (255 - 2 * (255 - data) * (255 - data) / 255));
    data[++i] = ((data < 128) ? (2*data*data / 255) : (255 - 2 * (255 - data) * (255 - data) / 255));
    data[++i] = ((data < 128) ? (2*data*data / 255) : (255 - 2 * (255 - data) * (255 - data) / 255));
    ++i;
    }
    canvasContext.putImageData(imageData,0,0);
    image.parentNode.insertBefore(canvas,image);
    }
    });[/js]

    на данный момент кнопка срабатывает при нажатии на стрелку

    на всякий случай адрес того из чего мутим авто галерею http://tutorialzine.com/2010/09/html5-c ... ow-jquery/
     
  2. <?=RPG?>

    <?=RPG?> Активный пользователь

    С нами с:
    19 ноя 2010
    Сообщения:
    451
    Симпатии:
    0
    setInteral("statr_go", 5000) - вызывает statr_go каждые 5 сек


    Вариант лямбда-функцией
    setInteral(
    function(){
    ...
    }
    , 5000)
     
  3. Vantedur

    Vantedur Активный пользователь

    С нами с:
    9 июл 2010
    Сообщения:
    779
    Симпатии:
    2
    не пойму как прикручивать, можешь в виде целостного кода показать?

    я на данный момент решил трабл таким путём
    прикрутил к стрелке id с параметром poehali
    HTML:
    1. <span id="poehali" class="arrow next"></span>
    Вставил в начале скрипта
    [js]setTimeout("$('#poehali').click()", 5000);[/js]
    и после строчки
    [js]nextIndex = current >= slides.length-1 ? 0 : current+1;[/js]
    тоже самое вставил и она начала сама листать
    [js]setTimeout("$('#poehali').click()", 5000);
    $(window).load(function(){
    var supportCanvas = 'getContext' in document.createElement('canvas');
    var slides = $('#slideshow li'),
    current = 0,
    slideshow = {width:0,height:0};
    setTimeout(function(){
    window.console && window.console.time && console.time('Generated In');
    if(supportCanvas){
    $('#slideshow img').each(function(){
    if(!slideshow.width){
    slideshow.width = this.width;
    slideshow.height = this.height;
    }
    createCanvasOverlay(this);
    });
    }
    window.console && window.console.timeEnd && console.timeEnd('Generated In');
    $('#slideshow .arrow').click(function(){
    var li = slides.eq(current),
    canvas = li.find('canvas'),
    nextIndex = 0;
    nextIndex = current >= slides.length-1 ? 0 : current+1;
    setTimeout("$('#poehali').click()", 5000);
    var next = slides.eq(nextIndex);
    if(supportCanvas){
    canvas.fadeIn(function(){
    next.show();
    current = nextIndex;
    li.fadeOut(function(){
    li.removeClass('slideActive');
    canvas.hide();
    next.addClass('slideActive');
    });
    });
    }
    else {
    current=nextIndex;
    next.addClass('slideActive').show();
    li.removeClass('slideActive').hide();
    }
    });
    },100);
    function createCanvasOverlay(image){
    var canvas = document.createElement('canvas'),
    canvasContext = canvas.getContext("2d");
    canvas.width = slideshow.width;
    canvas.height = slideshow.height;
    canvasContext.drawImage(image,0,0);
    var imageData = canvasContext.getImageData(0,0,canvas.width,canvas.height),
    data = imageData.data;
    for(var i = 0,z=data.length;i<z;i++){
    data = ((data < 128) ? (2*data*data / 255) : (255 - 2 * (255 - data) * (255 - data) / 255));
    data[++i] = ((data < 128) ? (2*data*data / 255) : (255 - 2 * (255 - data) * (255 - data) / 255));
    data[++i] = ((data < 128) ? (2*data*data / 255) : (255 - 2 * (255 - data) * (255 - data) / 255));
    ++i;
    }
    canvasContext.putImageData(imageData,0,0);
    image.parentNode.insertBefore(canvas,image);
    }
    });
    [/js]

    но хотелось бы не прятать стрелку а вообще её вырезать