【发布时间】:2011-07-06 05:25:03
【问题描述】:
我无法弄清楚是什么导致 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 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>
相关的phtml是:
<img src="<?php echo Mage::getBaseUrl('media').'Main.jpg'?>" id="mini-main"/>
<div id="mini-target-1" class="mini-target"></div>
<div id="mini-target-2" class="mini-target"></div>
<div id="mini-target-3" class="mini-target"></div>
<div id="mini-target-4" class="mini-target"></div>
<div id="mini-target-1-hover" class="mini-hover" style="display:none">
<img src="<?php echo Mage::getBaseUrl('media').'mini-rollover-1.png'?>"/>
</div>
<div id="mini-target-2-hover" class="mini-hover" style="display:none">
<img src="<?php echo Mage::getBaseUrl('media').'mini-rollover-2.png'?>"/>
</div>
<div id="mini-target-3-hover" class="mini-hover" style="display:none">
<img src="<?php echo Mage::getBaseUrl('media').'mini-rollover-3.png'?>"/>
</div>
<div id="mini-target-4-hover" class="mini-hover" style="display:none">
<img src="<?php echo Mage::getBaseUrl('media').'mini-rollover-4.png'?>"/>
</div>
我也尝试过单独附加观察者(没有each),但这没有任何区别:
$('mini-target-2').observe('mouseover',function(){
displayZoom('mini-target-2-hover');
});
$('mini-target-2').observe('mouseout',function(){
resetZoom('mini-target-2-hover');
});
谢谢,
京东
【问题讨论】:
-
顺便说一句,这是原型 v1.6.0.3
标签: javascript internet-explorer prototypejs observer-pattern