尝试从对象动画的数组中插入随机值时遇到问题,任何想法如何解决此问题?

var modalExitDir = Array('top','right','bottom','left');
//random value from modalExitDir
var item = modalExitDir[Math.floor(Math.random()*modalExitDir.length)];

$('#modal-close-btn').click(function(){
    $('#jobs-modal').animate({
        item : -100 + '%',
        opacity : 0.5},
        500, function() {
        $(this).removeAttr('style');
    });
});


谢谢

最佳答案

我能想到的唯一方法是使用switch()来检查item变量,该变量也应出现在click函数中:DEMO

var modalExitDir = Array('top','right','bottom','left');
//random value from modalExitDir

$('#modal-close-btn').click(function(){
    var item = modalExitDir[Math.floor(Math.random()*modalExitDir.length)];
    switch(item){
        case 'top':
            $('#jobs-modal').animate({top:'-100%'},500);
            break;
        case 'right':
            $('#jobs-modal').animate({left:'100%'},500);
            break;
        case 'bottom':
            $('#jobs-modal').animate({top:'100%'},500);
            break;
        case 'left':
            $('#jobs-modal').animate({left:'-100%'},500);
            break;
    }
    $('#jobs-modal').animate({
        opacity : 0.5},
        500, function() {
        $(this).removeAttr('style');
    });
});

10-08 17:00