我编写了一个模拟图像交叉淡入淡出并导致文本更改的脚本。这是现在的代码:
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 :(得分:0)
如果没有异步,这两个函数不能同时运行。您可以做的最好的事情就是使用两次超时,并设置很短的时间:
setTimeout(function() { /* code... */ },1);
setTimeout(function() { /* code... */ },1);
这样两个函数同时执行。
但是,在你的情况下,如果你只使用一个函数或者让第一个函数调用另一个函数,那会不会更简单:
function trigger() {
// Do image fading here...
// Text manipulation here...
}