我的一个用于拖放功能的恢复对象在Adobe Edge Animate中有一半错误



我在这里为这个线程的revert应用了答案(向jQuery draggable revert"event"添加了一个函数),但我仍然有问题。当放置在错误的可折叠位置时,由于某种原因,管理器图标不会恢复到原来的位置,而是隐藏并显示正确的图标,如果它没有恢复并且是正确的。反馈是错误的,这是应该的。如果我把它们放在错误的滴管里,所有其他的都会恢复并显示出预期的反馈。奇怪的是,一个人会采取不同的行动。所有正确的人都做他们应该做的事。设置:我有一个长的背景图标,可以通过按键事件移动。在顶部,我有一个(固定的)栏,里面有滴管和隐藏的图标,它们将出现在正确的可拖动对象上,而实际的可拖动内容将隐藏。这是因为否则可拖动对象将随背景移动,因为if与可拖动对象所在的条是不同的div
希望这是有道理的。

var icons = ['GOALS','CUSTOMER','MANAGER','PRODUCT','PRICE','DELIVER','BALANCE'];
for(j=0;j<icons.length;j++){    
    sym.$(icons[j]).addClass('drag'+j);  
     // each draggable corresponds to a droppable 
     // by class name indexed
    sym.$('.drag'+j).draggable({    
        revert: function(obj){
            if(obj===false){                
                // add feedback screen and sound and revert icon
                sym.$('wrong').attr('src',"images/wrongSpot.png");  
                sym.$('wrong').animate({'top': 23},1000);       
                sym.$("incorrectFX")[0].play();         
                return true;
            }else{
                return false;
            }// end if else statement           
        }// end revert
    });// end draggable
    sym.$('d'+j).droppable({
        accept: ".drag"+j,
        drop: dropEvent
    }); // end droppable
} // end for loop
k = 0;
function dropEvent(event, ui){
    ui.draggable.position( { of: $(this), my: 'center', at: 'center' } );
    ID = ui.draggable.attr("id").replace('Stage_','');
    console.log('this is the id name: ' + ID);
    sym.$('wrong').animate({'top': 23},1000);
    // replace wrong image with goodJob image since it is correct
    sym.$('wrong').attr('src',"images/goodJob.png");    
    if (music.paused ) {
        sym.$("correctFX")[0].pause();  
    } else {
        sym.$("correctFX")[0].currentTime = 0;
        sym.$("correctFX")[0].play();
    } 
    // since the droppable area is independant of the bg which move
    // I implemented a substitute icon in the fixed area
    sym.$(""+ID+"Copy").css({'opacity':1.0});  // show icon on the bar
    sym.$(""+ID+"").css({'opacity': 0});       // hide the draggable icon
    // count the number of correct to show feedback
    k++;
    if(k==7){   
        sym.$('complete').animate({"left":0},700);
        sym.$("completionFX")[0].play();
        sym.$('wrong').animate({'top':450},1000);
    }
}  // end dropevent function

如果您只在包含MANAGER的数组的索引2中遇到问题,这将创建以下代码:

sym.$('MANAGER').addClass('drag2');

如果您有任何其他类,即drag2,这将导致选择中的冲突。检查您的代码中是否有任何可能与匹配的类或ID

相关内容

  • 没有找到相关文章

最新更新