2012-11-28 3 views
0

이미지 교차 보정을 시뮬레이트하고 텍스트 변경을 유발하는 스크립트를 작성했습니다. 이제이 코드입니다 :두 함수가 jquery에서 동 기적으로 실행됩니다.

var teller = 0; 
var html = new Array(); 
var link = new Array(); 
html[0] = "Some text"; 
link[0] = "link1.html"; 
html[1] = "Some other text"; 
link[1] = "link2.html"; 
function beeldwissel() { 
    tekstwissel(); 
    var $actief = $('#overvloeier IMG.actief'); 
    if ($actief.length == 0) $actief = $('#overvloeier IMG:last'); 
    var $next = $actief.next().length ? $actief.next() : $('#overvloeier IMG:first'); 
    $actief.addClass('laatst-actief'); 
    $next.css({opacity: 0.0}) 
     .addClass('actief') 
     .animate({opacity: 1.0}, 1000, function() { 
      $actief.removeClass('actief laatst-actief');}); 
     } 

$(function() {setInterval("beeldwissel()", 5000);}); // 5000 = pauze van 5 seconden 

function tekstwissel() { 
    teller++; 
    if (teller >= html.length) { 
     teller = 0; 
    } 
    document.getElementById('tel').value = teller; 
    document.getElementById('tekst').innerHTML = html[teller]; 
} 

function doLink() { 
    var tel = document.getElementById('tel').value; 
    window.open(link[tel],'_blank'); 
} 

난 더 이상 동기화되지 않은 텍스트와 이미지의 변화의 변화에보다 초점을 변경하는 경우 ...

내가이 문제를 방지하기 위해 변경해야합니까?

답변

0

두 함수는 비동기식이 아니라면 동시에 실행할 수 없습니다.

setTimeout(function() { /* code... */ },1); 
setTimeout(function() { /* code... */ },1); 

두 가지 기능을 동시에 실행 그런 식으로 : 당신이 할 수있는 최선은 매우 작은 시간 설정 두 시간 제한을 사용하는 것입니다.

function trigger() { 
    // Do image fading here... 
    // Text manipulation here... 
} 
: 당신은 단지 하나 개의 기능을 사용하거나 첫 번째 호출 다른 하나를 만든 경우

그러나, 귀하의 경우, 그것은 간단하지 않을 것이다