将div定位在js

时间:2016-03-25 22:38:25

标签: javascript

想知道是否有人可以给我一些指导。我正在尝试根据以下内容重新定位div:

如果fpd-actions-wrapper有一个fpd-pos-outside类,那么在body中定位。 主包装中的else位置(如下所示)。

//set action button to specific position
var _setActionButtons = function(pos) {

    fpdInstance.$mainWrapper.append('<div class="fpd-actions-wrapper fpd-pos-'+pos+'"></div>');

    var posActions = instance.currentActions[pos];

    for(var i=0; i < posActions.length; ++i) {

        var actionName = posActions[i],
            $action = $actions.children('[data-action="'+actionName+'"]');


        fpdInstance.$mainWrapper.children('.fpd-actions-wrapper.fpd-pos-'+pos).append($action.clone());
    }

};

我已经在下面尝试了,它确实从主包装器中获取了.fpd-actions-wrapper但它是空的 - 无法解决最后一行。

 //set action button to specific position
 var _setActionButtons = function(pos) {
 $body = $('body');
    $body.append('<div class="fpd-actions-wrapper fpd-pos-'+pos+'"></div>');

    var posActions = instance.currentActions[pos];

    for(var i=0; i < posActions.length; ++i) {

        var actionName = posActions[i],
            $action = $actions.children('[data-action="'+actionName+'"]');

        fpdInstance.$mainWrapper.children('.fpd-actions-wrapper.fpd-pos- 
        '+pos).append($action.clone());
    }

};

1 个答案:

答案 0 :(得分:0)

你需要添加位置:aboslute;顶部:10px的; left:10px给你div标签。只有具有固定或绝对位置的分部才能以编程方式移动。您必须独立定义x(到左侧的距离)和y(到屏幕顶部的距离)运动。

我只定义了“顶部”位置。您还需要添加“左”参考点。它可能不是一个简单的'left:'+ pos +'px;',所以我没有为你添加那个代码,除了div标签。

请注意,改变位置的实际命令非常很多'css'喜欢。 div标签使用css语法,所以你的代码必须使用。

//将动作按钮设置到特定位置 var _setActionButtons = function(pos){

fpdInstance.$mainWrapper.append('<div class="fpd-actions-wrapper fpd-pos-'top:'+pos+'px; fpd-pos-'left:'+pos+'px;"></div>');

var posActions = instance.currentActions['top':+pos+"px;"];

for(var i=0; i < posActions.length; ++i) {

    var actionName = posActions[i],
        $action = $actions.children('[data-action="'+actionName+'"]');


    fpdInstance.$mainWrapper.children('.fpd-actions-wrapper.fpd-pos-':'+pos'px;').append($action.clone());
}

};