jQuery, fancybox работает, но только если дважды щелкнуть это изображение - PullRequest
2 голосов
/ 17 января 2011

У меня проблема ...

JS

$('#Contact').ready(function(){
    $('a#Contact-Map').live('click',function(event){
        event.preventDefault();
        $('a#Contact-Map').fancybox({
            'transitionIn'  :   'elastic',
            'transitionOut' :   'elastic',
            'speedIn'           :   600, 
            'speedOut'          :   200, 
            'overlayShow'   :   true
        });
    });
});

HTML

<div class="Module-Frame" id="Contact">
    <a id="Contact-Map" href="./Modules/Contact/Images/mapa_big.png">
        <img src="./Modules/Contact/Images/mapa.png" alt=""/>
    </a>
</div>

Этот HTML-код загружается функцией jQuery .load ().Это работает, но только если дважды щелкнуть это изображение ...

Справка, пожалуйста:)


JS с load () func

$(document).ready(function(){

    $("#Menu").children().click(function(event){
        $("#Content").hide().load('./Modules/'+ event.target.id.substr(5) +'/index.php', function() {
            $(this).fadeIn();
        });
    });



});



HTML

< html  >
< head  > ...

...
<body>
...
            <div id="Menu">
                <a id="Menu-News" href="#" title="Aktualnosci"> aktualności  |
                <a id="Menu-Aboutus" href="#" title="O nas"> o nas  | 
                <a id="Menu-Contact" href="#" title="Kontakt"> kontakt  | 
                <a id="Menu-Gallery" href="#" title="Galeria"> galeria 

            </div>
...
< div id=#content> ...

Ответы [ 2 ]

13 голосов
/ 18 января 2011

Через много часов я решил проблему просто путем изменения:

$(this).fancybox({
чтобы:
$.fancybox(this,{

$('#Contact').ready(function(){
    $('a#Contact-Map').live('click',function(event){
        event.preventDefault();
        $.fancybox(this,{
            'transitionIn'  :   'elastic',
            'transitionOut' :   'elastic',
            'speedIn'           :   600, 
            'speedOut'          :   200, 
            'overlayShow'   :   true
        });
    });

});

0 голосов
/ 17 января 2011

Удалите ваш щелчок в html, он срабатывает перед вашим обработчиком событий.

...