2011-12-01 64 views
1

我尝试了一些这样的事,对样品的方法显示指定图像的目的问题与文件撰写

<script> 
    function sample(image){ 
      document.write('<img src="photo/'+image+'" width=200 height=200/>'); 
     //document.open("photo/"+image); 
    } 
</script> 

<select name="selection"> 
      <option onmouseover="return sample('07A31A1250.jpeg')">Aaaaaaaa</option> 
      <option onmouseover="return sample('07A31A1251.jpeg')">Bbbbbbbb</option> 
      <option onmouseover="return sample('07A31A1251.jpeg')">Cccccccc</option> 
      <option onmouseover="return sample('07A31A1250.jpeg')">Dddddddd</option> 
    </select> 

我这个代码当过鼠标悬停于它.. 但是,当我将鼠标指针放置在选项上时,相应的图像不会在整个页面中加载,而不会显示为弹出式菜单。如何解决我的问题。

它在Firefox浏览器中支持,但不在Chrome中。是否有任何解决方法可以在浏览器中执行,而不支持鼠标悬停选项?

+1

永久停止使用'document.write'。这将为你的余生解决很多问题。 – Jon

+0

MarcB是对的。 [学习jQuery](http://jqfundamentals.com)或直接[DOM操作](https://developer.mozilla.org/en/Gecko_DOM_Reference)是要走的路。如果你想看到一个源代码作为答案,那么请确切指定你需要的。 – kubetz

回答

1

document.write已弃用。
相反也许使用类似

function fubar)(){ 
document.getElementById('foo').value=""; 
document.getElementById('foo')="<img src='photo/+image+.jpeg'>"; 
} 

另一种方法是使用CSS,并把图像中的选项

img{display:none;} 
option:hover img{display:inline;} 

但CSS的变化是没有什么不同的Javascript

2

document.write可以追溯到JavaScript的第1天,并且早于我们现在可以做的所有花哨的DOM东西。您只能在页面实际加载期间调用document.write。如果事后调用document.write,则用您想要的任何内容替换当前文档(整个页面).write()。

同时,文件撰写的输出(在正确使用时)进入确切地点文件撰写是所谓的,所以即使你的代码是工作,你会结束:

<option onmouseover="<img src="photo/07A31A1250.jpeg" width=200 height=200/>">Aaaaaaaa</option> 

这不是你想要的。

研究使用jquery这种事情,并使用适当的DOM操作技术。