javascript - jquery动态定位

标签 javascript jquery html css

我有一个嵌套在 div 中的动态文本区域。 div 是可调整大小和可拖动的。 我为 div 创建了一个删除图标,但希望删除图标位于 div 的 NE Angular ,并在 div 调整大小时移动。

我已经用这段代码创建了 div、textarea 和 icon

    function NewTextArea(id)
    {   

    id=id+i;
    var newdiv = document.createElement('div');
    newdiv.setAttribute('id', id);
    newdiv.setAttribute('class', 'dragbox');
    newdiv.setAttribute('iterate',i);
    newdiv.style.position = "relative";
    newdiv.style.top = p;
    newdiv.style.left = p;
    newdiv.style.cursor='move';
    newdiv.innerHTML = "</div><br><textarea id='"+i +"'  onDblClick='editor1("+i+")' name='textarea["+i +"]' class='textarea1' style='position:absolute; top:10px;left:0px;overflow-y: auto;background-color:transparent;border: 2px dashed #000; '>some text here"+i+"</textarea>";
    newdiv.innerHTML=newdiv.innerHTML+"<br><input type='hidden' value='"+i+"' name='id["+i+"]'><br><input name='box_type["+i+"]' type='hidden' value='text'/>"; 
    newdiv.innerHTML=newdiv.innerHTML+"<br><input type='hidden' value='300' name='width["+i+"]' id='width"+i+"'><br><input type='hidden' value='300' name='height["+i+"]' id='height"+i+"'>";               
    newdiv.innerHTML=newdiv.innerHTML+"<br><input type='hidden' value='0' name='left["+i+"]' id='left"+i+"'><br><input type='hidden' value='0' name='top["+i+"]' id='top"+i+"'>"; 

    document.getElementById("frmMain").appendChild(newdiv); 

    var but=document.createElement('input');
    but.setAttribute('type','button');
    but.setAttribute('class','removebutton');       

    but.onclick=function(){
        if(confirm('Really delete?'))
        {
        document.getElementById("frmMain").removeChild(newdiv);
        document.getElementById(id).removeChild(but);
        document.getElementById(id).removeChild(newbr);
        }       
    }

    newbr=document.createElement('BR');
    document.getElementById(id).appendChild(newbr);
    document.getElementById(id).appendChild(but);



    $(function()
    {
        $("#"+i).resizable({autoHide:true})
        $("#"+id).hover(function () {
            $("#"+i).css('border', '2px dashed #000');         
        });
        $("#"+id).mouseleave(function () {
            $("#"+i).css('border', '0px dashed #000');         
        });
        $("#"+i).resizable(
            {
                stop: function(event, ui)
                {
                    var width = ui.size.width;
                    var height = ui.size.height;
                    // alert("width="+width+"height="+height);
                    ValProportions(width,height,ui.element.context.id);           
                }
            });

        $( "#"+id ).draggable(
            {
                stop: function(event, ui)
                {
                    Stoppos = $(this).position();
                    $("div#stop").text("STOP: \nLeft: "+ Stoppos.left + "\nTop: " + Stoppos.top);
                    // alert("left="+Stoppos.left+"top="+Stoppos.top);
                    ValPostion(Stoppos.left,Stoppos.top,$(this).attr('iterate'));   
                }
            }); 
        $("#"+i).draggable({handle:"#handle"}); 
    });  

    function ValProportions(defaultwidth, defaultheight,id)  { 
        $('#width'+id).val(defaultwidth);
        $('#height'+id).val(defaultheight);
    }

   function ValPostion(defaultleft,defaulttop,id)  {  
        $('#left'+id).val(defaultleft);
        $('#top'+id).val(defaulttop);
    }

    p=p+25;     
    i++;

最佳答案

在按钮上使用样式。

float:right

会将您的按钮放在 div 的右侧。 只需确保将按钮作为 div 中的第一个元素即可。

关于javascript - jquery动态定位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15618093/

相关文章:

javascript - 如何获取输入文件值而不是使用 FormData

javascript - 结果完成后如何在 $.each 循环中停止 slider 滑动

javascript - 使用angularJs显示来自socket io的数据

Javascript jquery - 如何在搜索条目中建立延迟

javascript - 使脚本适用于两种输入,可能吗?

javascript - 如何使变量 "Counter"计算随机创建并通过单击消失的 "div' s 的数量

html - 背景图片不会用 HTML/CSS 显示

javascript - react 。呈现和更新 1500 个 <li> 元素的简单列表时非常慢。我认为 VirtualDOM 很快

javascript - 替代 "this"变量

javascript - JQuery 游戏 - 让玩家留在一个 div 中