Javascript IE8中没有发射原型观察员
我不知道是什么原因导致IE8忽略了这些观察者。它适用于FF、Chrome(10)和Safari。它从不触及IE8开发者工具中设置的断点Javascript IE8中没有发射原型观察员,javascript,internet-explorer,prototypejs,observer-pattern,Javascript,Internet Explorer,Prototypejs,Observer Pattern,我不知道是什么原因导致IE8忽略了这些观察者。它适用于FF、Chrome(10)和Safari。它从不触及IE8开发者工具中设置的断点 <script type="text/javascript"> //<![CDATA[ var timeoutHolder = null; function displayZoom(id){ window.clearTimeout(timeoutHolder); //if we are coming from
<script type="text/javascript">
//<![CDATA[
var timeoutHolder = null;
function displayZoom(id){
window.clearTimeout(timeoutHolder); //if we are coming from another hover target, prevent the opacity reset
if($('mini-main').getOpacity()!=0.4)
new Effect.Opacity('mini-main',{from:1.0,to:0.4,duration:0.5});
new Effect.Appear(id,{duration:0.3});
}
function resetZoom(id){
timeoutHolder = window.setTimeout(function(){
new Effect.Opacity('mini-main',{from:0.4,to:1.0,duration:0.5});
}, 100); //gives us 100 ms for user to move onto another target before we reset the opacity
new Effect.Fade(id,{duration:0.5});
}
$$('.mini-target').each(function(target_div){
target_div.observe('mouseover',function(){
displayZoom(target_div.id+'-hover');
});
target_div.observe('mouseout',function(){
resetZoom(target_div.id+'-hover');
});
});
//]]>
</script>
谢谢,JD如果你改变了做事的方式,那会怎么样
$(document).ready(function () {
$('.mini-target').mouseover(function () {
displayZoom($(this).attr("id") + '-hover');
}).mouseout(function () {
resetZoom($(this).attr("id") + '-hover');
});
});
当你将鼠标移到每个“小目标”上时,你仍然在引用它,我们将鼠标移到它的末端
这将在IE8中运行
干杯,
Al如果你改变了做事的方式,那会怎么样
$(document).ready(function () {
$('.mini-target').mouseover(function () {
displayZoom($(this).attr("id") + '-hover');
}).mouseout(function () {
resetZoom($(this).attr("id") + '-hover');
});
});
当你将鼠标移到每个“小目标”上时,你仍然在引用它,我们将鼠标移到它的末端
这将在IE8中运行
干杯,
Al是最黑的黑客。如果您在
mini target
div上设置背景,则该选项有效。我最终使用了一个条件setStyle为IE显示一个gif间隔符。1998年浏览器黑客FTW
if(Prototype.Browser.IE){
target_div.setStyle({background: 'url("<?php echo Mage::getBaseUrl('media').'spacer.gif'?>")'});
}
if(Prototype.Browser.IE){
target_div.setStyle({background:'url(“”)});
}
如果有人能解释为什么IE需要背景来解雇观察员,我很乐意接受他们的答案。。。可能与hasLayout有关吧?最黑的黑客。如果您在
mini target
div上设置背景,则该选项有效。我最终使用了一个条件setStyle为IE显示一个gif间隔符。1998年浏览器黑客FTW
if(Prototype.Browser.IE){
target_div.setStyle({background: 'url("<?php echo Mage::getBaseUrl('media').'spacer.gif'?>")'});
}
if(Prototype.Browser.IE){
target_div.setStyle({background:'url(“”)});
}
如果有人能解释为什么IE需要背景来解雇观察员,我很乐意接受他们的答案。。。可能与hasLayout有关?我以前遇到过一个案例,其中一组ID名称导致IE中出现Javascript问题 该方案由紧接着连字符
-
的数字组成
请尝试删除数字前的连字符。将
mini-target-1
更改为mini-target1
?我以前遇到过一个案例,其中一组ID名称导致IE中出现Javascript问题
该方案由紧接着连字符-
的数字组成
请尝试删除数字前的连字符。将
mini-target-1
更改为mini-target1
?当observe
没有向隐藏元素开火时,我遇到了这个问题。我要做的就是让这个元素display:block代码>使用前请遵守的规定
如果元素最初设置为display:none
,则当您更改背景图像时,IE8(及以下)可能会自动将css显示属性更改为block
。我遇到了这个问题,当时observe
没有触发隐藏元素。我要做的就是让这个元素display:block代码>使用前请遵守的规定
如果元素最初设置为display:none
,则当您更改背景图像时,IE8(及以下版本)可能会自动将css显示属性更改为block
。BTW,这是Prototype v1.6.0.3BTW,这是Prototype v1.6.0.3版,您为涉及Prototype的问题提供了jquery解决方案您为涉及Prototype的问题提供了jquery解决方案谢谢Allan,我将尝试一下。我知道以数字开头的ID或类名是非法的,但我没听说过这种变化,但嘿,这是IE,所以一切皆有可能!!谢谢艾伦,我会试试的。我知道以数字开头的ID或类名是非法的,但我没听说过这种变化,但嘿,这是IE,所以一切皆有可能!!