当前位置: 首页 > 面试题库 >

如何使用纯Javascript调整HTML元素的大小?

程城
2023-03-14
问题内容

我想知道如何使用纯JavaScript(而不是jQuery库或任何其他库)单击时使HTML元素<div><p>tag元素可调整大小。


问题答案:

我真的建议使用某种类型的库,但是您要求它,可以得到:

var p = document.querySelector('p'); // element to make resizable

p.addEventListener('click', function init() {
    p.removeEventListener('click', init, false);
    p.className = p.className + ' resizable';
    var resizer = document.createElement('div');
    resizer.className = 'resizer';
    p.appendChild(resizer);
    resizer.addEventListener('mousedown', initDrag, false);
}, false);

var startX, startY, startWidth, startHeight;

function initDrag(e) {
   startX = e.clientX;
   startY = e.clientY;
   startWidth = parseInt(document.defaultView.getComputedStyle(p).width, 10);
   startHeight = parseInt(document.defaultView.getComputedStyle(p).height, 10);
   document.documentElement.addEventListener('mousemove', doDrag, false);
   document.documentElement.addEventListener('mouseup', stopDrag, false);
}

function doDrag(e) {
   p.style.width = (startWidth + e.clientX - startX) + 'px';
   p.style.height = (startHeight + e.clientY - startY) + 'px';
}

function stopDrag(e) {
    document.documentElement.removeEventListener('mousemove', doDrag, false);
    document.documentElement.removeEventListener('mouseup', stopDrag, false);
}

演示版

请记住,这可能无法在所有浏览器中运行(仅在Firefox中经过测试,绝对不能在IE <9中运行)。



 类似资料:
  • 问题内容: 我是一个新手。有人可以告诉我如何使用原始Javascript(而不是jQuery)删除HTML元素。 当我单击“提交”按钮时,会在很短的时间内消失然后立即出现。单击按钮时,我想完全删除该元素。 问题答案: 发生的情况是正在提交表单,因此页面(带有其原始内容)正在刷新。您正在通过“提交”按钮处理事件。 如果要删除元素 而不 提交表单,请改为处理表单上的事件,然后从处理程序中返回: HTM

  • 为了增强用户体验,CSS3 中新增了一个非常实用的 resize 属性,该属性允许用户通过拖动的方式来自由缩放元素的尺寸,在此之前要实现类似的效果还需要借助大量的 JavaScript 代码。resize 属性的语法格式如下: resize: none|both|horizontal|vertical; 语法说明如下: none:用户无法调整元素的尺寸; both:用户可调整元素的高度和宽度; h

  • 问题内容: 和其他几个,但是没有什么不是我想要的。我想要的是将某些内容缩放到其大小的50%(当然,还要进行动画效果的过渡),然后将页面布局重新调整为该元素的新(可视)大小。默认情况下似乎发生的是该元素仍保留其在布局结构中的原始大小,并且仅通过关联的转换进行绘制。 基本上,我希望用户单击一个文本块(或其他内容),然后将该文本缩放到其大小的50%(或任何其他大小),并将其粘贴在下面的面板中以表明已被选

  • 我有一个html如下所示 如您所见,在父div下有四个子div,它包含类;第三个子div包含一个额外的类。我想在包含类的子项之前选择所有子项。注任何子级都可以包含类,并且在任何情况下,我都希望所有子级位于它之前。 这就是我所做的 但在本例中它也选择最后一个子项。在使用JavaScript选择类之前,我如何确保只有子类? 我在stackoverflow中发现了一个类似的问题:在element wit

  • 问题内容: 使用以下语法时,不必为每种类型的属性和事件繁琐地搜索解决方法: 有没有一种方法可以将整个HTML元素声明为字符串?喜欢: 问题答案: 创建片段然后插入该片段可能会更好,而不是直接弄乱它: 好处: 您可以使用本机DOM方法进行插入,例如insertBefore,appendChild等。 您可以在插入实际的DOM节点之前对其进行访问;您可以访问片段的childNodes对象。 使用文档片

  • 问题内容: 我将“ mapwrap” div设置为400px x 400px,在其中,我将Google“地图”设置为100%x 100%。因此,地图加载为400 x 400像素,然后使用JavaScript将“ mapwrap”的大小调整为屏幕的100%x 100%-谷歌地图按我的预期调整为整个屏幕,但图块在其右边缘之前开始消失页。 我可以调用一个简单的函数来使Google地图重新调整为较大尺寸的