开发者

How can I add an element with absolute position via jQuery or Javascript?

I have this line to add a new element in the screen, but the absolute position is not working.

Javascript

function drawElement(e,name){   
    $("#canvas").append("<div id='" + name + "' class='开发者_如何学JAVAelement'"
    + "left="+e.pageX+" top=" + e.pageY +">"
    + name
    +"</div>");
}

CSS

.element{
    display:inline-block;
    background:blue;
    position:absolute;  
}

What I doing wrong?

  1. List item


var element = $('<div />',{'name': name, 'class': element})
                          .css({ 'left': e.pageX, 'top': e.pageY })
                          .html(name);  
$("#canvas").append(element); 


    function drawElement(e,name){   
        div = $("<div />")
            div.attr("id", name);
            div.attr("class", 'element')
            div.css("top", e.pageY)
            div.css("left", e.pageX)
            div.html(name)

            $("#canvas").append(div)
    }

Update: from comment below (didn't know you could do that!) :)

    function drawElement(e,name){   
        div = $("<div />")
        div.attr({id: name, class: 'element'});
        div.css({top: e.pageY, left: e.pageX})
        div.html(name)
                $("#canvas").append(div)
    }


Write the top and left positions into the style attribute, like this->

.append("<div id='" + name + "' class='element'"
+ "style='left:"+e.pageX+";top:" + e.pageY +";'>"

Although you should probably do it like this, so that it's more... controllable.

var newElem = $('<div />').addClass('element').css({'left': e.pageX, 'top' : e.pageY});

 $("#canvas").append(newElem);
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜