[jQuery] Repeated quick clicks mess up my code..please help
jQuery.noConflict()
var ppdelay = <?php echo $ppdelay; ?>;
var newsitems;
var curritem=0;
var iPause=0;
var tbtype;
var indicdelay = ppdelay-3000;
jQuery(document).ready(function(){
jQuery("#imagebx").css("display","block");
var tickerSelector = "#imagebx .imageitem";
newsitems = jQuery(tickerSelector).hide().hover(
function(){
jQuery(this).addClass("hovered");
iPause=1;
},
function(){
jQuery(this).removeClass("hovered");
iPause=0;
}
).filter(":eq(0)").show().add(tickerSelector).size();
//jQuery("#indic").animate({opacity: 0.0}, 3);
jQuery(".navig_item:eq("+curritem+")").addClass("navig_item_active");
var ntext = jQuery(".ntext:eq("+curritem+")").html();
var csstype = jQuery(".transboxpos:eq("+curritem+")").text();
switch(csstype)
{
case "right":
var tbtype = 'tbright';
break;
case "bottom":
var tbtype = 'tbbottom';
break;
default:
var tbtype = 'tbleft';
}
jQuery("#opaquetext").html(ntext);
jQuery("#translucentbox").addClass(tbtype).slideDown("slow",function()
{
indictimeset = setInterval(function(){showanim()},indicdelay);
//jQuery("#indic").animate({opacity: 0.01},
indicdelay).animate({opacity: 1.0}, 3);
});
timeset = setInterval(function(){ticknews()},ppdelay);
});
function ticknews(itemnum) {
if (iPause==0){
jQuery(".navig_item:eq("+curritem
+")").removeClass("navig_item_active");
//jQuery("#indic").animate({opacity: 0.0}, 3);
jQuery("#indic").hide();
jQuery("#translucentbox").slideUp("slow",function(){
jQuery("#translucentbox").removeClass(tbtype);
});
jQuery("#imagebx .imageitem:eq("+curritem
+")").fadeOut("slow",function(){
jQuery(this).hide();
});
if (itemnum !=undefined){
curritem = itemnum;
}else{
curritem = ++curritem%newsitems;
}
jQuery(".navig_item:eq("+curritem+")").addClass("navig_item_active");
jQuery("#imagebx .imageitem:eq("+curritem
+")").fadeIn("slow",function(){
var ntext = jQuery(".ntext:eq("+curritem+")").html();
jQuery("#opaquetext").html(ntext);
var csstype = jQuery(".transboxpos:eq("+curritem+")").text();
switch(csstype)
{
case "right":
var tbtype = 'tbright';
break;
case "bottom":
var tbtype = 'tbbottom';
break;
default:
var tbtype = 'tbleft';
}
jQuery("#translucentbox").addClass(tbtype).slideDown("slow",function()
{
indictimeset = setInterval(function(){showanim()},indicdelay);
//jQuery("#indic").animate({opacity: 0.01},
indicdelay).animate({opacity: 1.0}, 3);
});
});
}
}
function showanim(){
jQuery("#indic").show();
clearInterval(indictimeset);
}
function ticknews_new(elnum){
clearInterval(timeset);
clearInterval(indictimeset);
ticknews(elnum);
timeset = setInterval(function(){ticknews()},ppdelay);
}