次のコードがあり、#play ボタンを押すまで正常に動作します。var intID が別の場所に設定されており、window.clearInterval() を実行したときに同じスコープにないためだと思います...どうすれば修正できますか? ところで、これは Google Maps API バージョン 3 です
function intervalTrigger(){
return window.setInterval(function(){
placement++;
if(placement >= markers.length){placement = 0;}
google.maps.event.trigger(markers[placement], "click");
}, 5000);
};
var intID = intervalTrigger();
$('#map_canvas').click(function(){window.clearInterval(intID);});
$('a[href=#nextmarker]').live('click',function(){
placement++;
if(placement >= markers.length){placement = 0};
google.maps.event.trigger(markers[placement], "click");
window.clearInterval(intID);
$('a[href=#pause]').replaceWith('<a href="#play">Play</a>');
return false;
});
$('a[href=#prevmarker]').live('click',function(){
placement--;
if(placement == -1){placement = markers.length-1}
google.maps.event.trigger(markers[placement], "click");
window.clearInterval(intID);
$('a[href=#pause]').replaceWith('<a href="#play">Play</a>');
return false;
});
$('a[href=#play]').live('click',function(){
$('a[href=#play]').replaceWith('<a href="#pause">Pause</a>');
var intID = intervalTrigger();
return false;
});
$('a[href=#pause]').live('click',function(){
window.clearInterval(intID);
$('a[href=#pause]').replaceWith('<a href="#play">Play</a>');
return false;
});