2012-03-10 51 views
0

我设法通过DynamicDrive整合iframe调整脚本脚本,它很好地工作。Iframe在mouseover上只加载一次?

http://www.dynamicdrive.com/dynamicindex17/iframessi2.htm

我把它加载只在鼠标悬停..

onmouseover="javascript:loadintoIframe('myframe', 'http://mysite.com/page.php)"

不过,我也只需要一次负载而不是每悬停重装上。

我试过这个,但我想我必须添加一些JavaScript到JavaScript,但不知道。

onclick="this.value = '';this.onclick=null;"

+0

你有没有想过一些简单的像一个标志? 'var loaded = false;'然后当你鼠标悬停时,检查'loaded'是否为false,如果是,则初始化iframe,然后将'loaded'设置为'true',这样它就不会再次触发。 – Kai 2012-03-10 05:10:31

回答

0

我想,如果你想保持delcared作为一个属性的onmouseover处理程序,你可以尝试:

onmouseover="javascript:if(loadintoIframe) {loadintoIframe('myframe', 'http://mysite.com/page.php); loadintoIframe=null;}" 

第二次它被调用时,它不会做任何事情

就个人而言,我更喜欢使用Unobtrusive JavaScript

+0

谢谢,工作很好。 – Jay 2012-03-10 05:34:27

0

如果你使用jQuery,你可以做到这一点...

$('element').bind('mouseover', function(event) { 
    // load your iframe here 
    $(this).unbind(event); 
}); 

下面的工作,以及...

$('element').one('mouseover', function() { 
    // load your iframe here 
});