在特定距离使用javascript创建图像

在特定距离使用javascript创建图像,javascript,javascript-events,Javascript,Javascript Events,我在stackoverflow上找到了这些代码段,但在尝试时无法使用。给你 其目的是在调用\u click函数时创建一个映像(onclick事件调用\u click函数)。dx是从左侧测量的像素。因此,如果鼠标指针大于200像素,并且单击鼠标,它应该在该位置创建一个图像。我的意思是,如果dx为206,那么应该创建一个距离为206像素的图像。但是我无法使用javascript创建图像元素 我必须对javascript代码进行哪些更改?所有浏览器都需要这样做: function on_click(e

我在stackoverflow上找到了这些代码段,但在尝试时无法使用。给你

其目的是在调用\u click函数时创建一个映像(onclick事件调用\u click函数)。dx是从左侧测量的像素。因此,如果鼠标指针大于200像素,并且单击鼠标,它应该在该位置创建一个图像。我的意思是,如果dx为206,那么应该创建一个距离为206像素的图像。但是我无法使用javascript创建图像元素


我必须对javascript代码进行哪些更改?

所有浏览器都需要这样做:

function on_click(e)
{
  if( !e ) e = window.event;
   dragok = false;
   document.onmousemove = null;
   var x = e.target||e.srcElement;
  if( dx > 200 ) // dx is the numbers of pixels from leftside of mouse pointer
    {
      // document.write(dx); this is working it prints dx value but unable to create an image        
      var img = IEWIN ? new Image() : document.createElement('img');
      img.src="cool.jpg";
      document.getElementById(x.id).appendChild(img);
    }
 } 
如果您已经拥有DOM元素,那么没有理由先获取id,然后再执行
document.getElementById(x.id)
。直接使用
x

要使用引用此图像的CSS规则,您可以制定如下规则(取决于您引用的是类还是id):


绝对有效!所以现代浏览器不支持document.createelement?你能告诉我如何创建它的宽度和高度属性吗。我的意思是我可以设置img.id到它,也可以在css表中设置属性到它吗?但是我们不能只是附加我们需要总是提到父节点吗?没有jfriend我想为javascript创建的img标记创建img.id或img.class,然后使用css表引用它的属性。我可以这样做吗?我在我的示例中添加了两行代码,向您展示如何添加一个类名和一个可以使用css规则引用的id。图像对象是DOM元素。我想您可以使用
document.createElement()
来代替,但是为什么呢?
new Image()
语法是内置的。好的,我如何在css中引用它?我使用了img.myclass{some properties}但不起作用,是吗?我在答案中添加了一些css规则。
var img = new Image();
img.src = "cool.jpg";
img.className = "myClass";
img.id = "mainImage";
x.appendChild(img);
.myClass {border: 1px solid #F00;}
#mainImage {padding: 14px;}