Mootools 1.1, проблема mouseover у <div> в IE

Discussion in 'PHP' started by inlanger, 27 Aug 2009.

  1. inlanger

    inlanger Elder - Старейшина

    Joined:
    7 Jan 2007
    Messages:
    985
    Likes Received:
    283
    Reputations:
    27
    В общем, вот страница - new.ihdnipro.com
    Там справа есть три выезжающих блока, которые прекрасно работают во всех браузерах, кроме IE. Это IE выдачёт, что не знает такого, как mouseover у дива. Как это побороть?
     
  2. life_is_shit

    life_is_shit Elder - Старейшина

    Joined:
    21 Aug 2007
    Messages:
    300
    Likes Received:
    149
    Reputations:
    19
    предъяви сорцы товарищ :)
     
    2 people like this.
  3. inlanger

    inlanger Elder - Старейшина

    Joined:
    7 Jan 2007
    Messages:
    985
    Likes Received:
    283
    Reputations:
    27
    HTML:
    <script type="text/javascript" src="/templates/ihdnipro_home/scripts/mootools-release-1.11.js"></script> 
        <script> 
    window.addEvent('domready', function() {
        var i = 0;
        Fx.Morph = Fx.Styles.extend({ 
                start: function(className){
                        var to = {};
                        $each(document.styleSheets, function(style){
                                var rules = style.rules || style.cssRules;
                                $each(rules, function(rule){
                                        if (!rule.selectorText.test('\.' + className + '$')) return;
                                        Fx.CSS.Styles.each(function(style){
                                                if (!rule.style || !rule.style[style]) return;
                                                var ruleStyle = rule.style[style];
                                                to[style] = (style.test(/color/i) && ruleStyle.test(/^rgb/)) ? ruleStyle.rgbToHex() : ruleStyle;
                                        });
                                });
                        });
                        return this.parent(to);
                }
        });
         
        Fx.CSS.Styles = ["width", "height", "left", "top", "bottom", "right", "display"];
         
        Fx.CSS.Styles.extend(Element.Styles.padding);
        Fx.CSS.Styles.extend(Element.Styles.margin);
         
        Element.Styles.border.each(function(border){
                ['Width', 'Color'].each(function(property){
                        Fx.CSS.Styles.push(border + property);
                });
        });
         
        var vkontakteMorph = new Fx.Morph('vkont_m', {wait: false});
        var callbMorph = new Fx.Morph('callb_m', {wait: false});
        var facebookMorph = new Fx.Morph('faceb_m', {wait: false});
        
        $('faceb_m').addEvent('mouseover', function(e){
                new Event(e).stop();
                facebookMorph.start('morph2');
        });
        $('faceb_m').addEvent('mouseout', function(e){
                new Event(e).stop();
                facebookMorph.start('morph1');
        });
        
        $('vkont_m').addEvent('mouseover', function(e){
                new Event(e).stop();
                vkontakteMorph.start('morph2');
        });
        $('vkont_m').addEvent('mouseout', function(e){
                new Event(e).stop();
                vkontakteMorph.start('morph1');
        });
        
        $('callb_m').addEvent('mouseover', function(e){
                new Event(e).stop();
                callbMorph.start('morph2');
        });
        $('callb_m').addEvent('mouseout', function(e){
                new Event(e).stop();
                callbMorph.start('morph1');
        });
    });
        </script> 
    Этот код применяется к:
    HTML:
    <!--  --> 
    <style> 
    .morph1 {
            right: -160px;
            position: relative;
            float: right;
            width: 200;
            height: 158;
    	font-size: 12px;
    	padding-bottom: 6px;
    }
     
    .morph2 {
            right: 0px;
    }
    .div{
        position: fixed;
        right: 0;
        top: 33%;
        width: 200px;
        height: 158px;
        overflow: hidden !important;
        z-index: 9999;
    }
    .div #text{
            position: relative;
            padding: 5px;
            float: right;
            width: 150px;
    	color: #000;
    	background-color: #E8E8E8;
    }
    #toggle{
        position: relative;
        float: left;
        width:30px;
    }
    </style> 
     
     
    <div class="div"> 
    <div id="callb_m" class="morph1"> 
        <div id="toggle"> 
        <img src="/templates/ihdnipro_home/images/callback_icon.png" id="toggler"> 
        </div> 
        <div id="text" style="height: 75px;"> 
    	<form action="" method="POST"> 
    	  <input type="text" value="Ваш телефон"><br> 
    	  <input type="text" value="Ваше имя"><br> 
    	  <input type="submit" value="Отправить">					
    	</form> 
        </div> 
    </div>    
        
    <div id="faceb_m" class="morph1"> 
        <div id="toggle"> 
        <img src="/templates/ihdnipro_home/images/facebook_icon.png" id="toggler"> 
        </div> 
        <div id="text" style="height: 20px;"> 
    	<a href="#">Мы в Facebook</a>  
        </div> 
    </div> 
        
    <div id="vkont_m" class="morph1"> 
        <div id="toggle"> 
        <img src="/templates/ihdnipro_home/images/vkontakte_icon.png" id="toggler"> 
        </div> 
        <div id="text" style="height: 20px;"> 
    	<a href="#">Мы в Вконтакте</a>  
        </div> 
    </div> 
    </div> 
     
    <!--  -->
     
  4. life_is_shit

    life_is_shit Elder - Старейшина

    Joined:
    21 Aug 2007
    Messages:
    300
    Likes Received:
    149
    Reputations:
    19
    а IE какой?
     
  5. inlanger

    inlanger Elder - Старейшина

    Joined:
    7 Jan 2007
    Messages:
    985
    Likes Received:
    283
    Reputations:
    27
    Проверял на 7м и 8м
     
  6. life_is_shit

    life_is_shit Elder - Старейшина

    Joined:
    21 Aug 2007
    Messages:
    300
    Likes Received:
    149
    Reputations:
    19
    для начала попробуй качнуть версию мутулза 1.2 и подрубить вместо mootools-release-1.11.js.
    если не поможет, тогда будем копать подробнее)
     
  7. inlanger

    inlanger Elder - Старейшина

    Joined:
    7 Jan 2007
    Messages:
    985
    Likes Received:
    283
    Reputations:
    27
    зачем, если весь сайт построен на версии 1.1 ?
     
  8. life_is_shit

    life_is_shit Elder - Старейшина

    Joined:
    21 Aug 2007
    Messages:
    300
    Likes Received:
    149
    Reputations:
    19
    затем что в новой версии есть апдейты, тобиш хаки для ие, насколько я знаю.
    подключив новую ты наверняка узнаешь проблема в ие, или все-таки ты что-то напорол.
    код я посмотрел, вроде все норм.
     
    1 person likes this.