jquery - 如何将数组值放入动画中?

时间:2014-09-30 19:16:34

标签: javascript jquery arrays

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

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');
    });
});

由于

2 个答案:

答案 0 :(得分:1)

试试这个

var modalExitDir = Array('top','right','bottom','left');
var item;

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

答案 1 :(得分:1)

我能想到的唯一方法是使用switch()检查item变量,该变量也应出现在点击功能中: 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');
    });
});