2014-09-01 4 views
1

Я пробовал много вещей, но мой код (который я загрузил) отличается от других, потому что я не могу найти какую-либо вещь document.onload = function, которую я нашел и добавил после загрузки после «Документ» не работал вообще. мой JS код:jQuery popup dialog onload вместо onclick

/* 
* jQuery Reveal Plugin 1.0 
* www.ZURB.com 
* Copyright 2010, ZURB 
* Free to use under the MIT license. 
* http://www.opensource.org/licenses/mit-license.php 
*/ 


(function($) { 

/*--------------------------- 
Defaults for Reveal 
----------------------------*/ 

/*--------------------------- 
Listener for data-reveal-id attributes 
----------------------------*/ 

    $('a[data-reveal-id]').live('click', function(e) { 
     e.preventDefault(); 
     var modalLocation = $(this).attr('data-reveal-id'); 
     $('#'+modalLocation).reveal($(this).data()); 
    }); 

/*--------------------------- 
Extend and Execute 
----------------------------*/ 

    $.fn.reveal = function(options) { 


     var defaults = { 
      animation: 'fadeAndPop', //fade, fadeAndPop, none 
      animationspeed: 300, //how fast animtions are 
      closeonbackgroundclick: true, //if you click background will modal close? 
      dismissmodalclass: 'close-reveal-modal' //the class of a button or element that will close an open modal 
     }; 

     //Extend dem' options 
     var options = $.extend({}, defaults, options); 

     return this.each(function() { 

/*--------------------------- 
Global Variables 
----------------------------*/ 
      var modal = $(this), 
       topMeasure = parseInt(modal.css('top')), 
       topOffset = modal.height() + topMeasure, 
       locked = false, 
       modalBG = $('.reveal-modal-bg'); 

/*--------------------------- 
Create Modal BG 
----------------------------*/ 
      if(modalBG.length == 0) { 
       modalBG = $('<div class="reveal-modal-bg" />').insertAfter(modal); 
      }   

/*--------------------------- 
Open & Close Animations 
----------------------------*/ 
      //Entrance Animations 
      modal.bind('reveal:open', function() { 
       modalBG.unbind('click.modalEvent'); 
       $('.' + options.dismissmodalclass).unbind('click.modalEvent'); 
       if(!locked) { 
        lockModal(); 
        if(options.animation == "fadeAndPop") { 
         modal.css({'top': $(document).scrollTop()-topOffset, 'opacity' : 0, 'visibility' : 'visible'}); 
         modalBG.fadeIn(options.animationspeed/2); 
         modal.delay(options.animationspeed/2).animate({ 
          "top": $(document).scrollTop()+topMeasure + 'px', 
          "opacity" : 1 
         }, options.animationspeed,unlockModal());     
        } 
        if(options.animation == "fade") { 
         modal.css({'opacity' : 0, 'visibility' : 'visible', 'top': $(document).scrollTop()+topMeasure}); 
         modalBG.fadeIn(options.animationspeed/2); 
         modal.delay(options.animationspeed/2).animate({ 
          "opacity" : 1 
         }, options.animationspeed,unlockModal());     
        } 
        if(options.animation == "none") { 
         modal.css({'visibility' : 'visible', 'top':$(document).scrollTop()+topMeasure}); 
         modalBG.css({"display":"block"}); 
         unlockModal()    
        } 
       } 
       modal.unbind('reveal:open'); 
      });  

      //Closing Animation 
      modal.bind('reveal:close', function() { 
       if(!locked) { 
        lockModal(); 
        if(options.animation == "fadeAndPop") { 
         modalBG.delay(options.animationspeed).fadeOut(options.animationspeed); 
         modal.animate({ 
          "top": $(document).scrollTop()-topOffset + 'px', 
          "opacity" : 0 
         }, options.animationspeed/2, function() { 
          modal.css({'top':topMeasure, 'opacity' : 1, 'visibility' : 'hidden'}); 
          unlockModal(); 
         });     
        } 
        if(options.animation == "fade") { 
         modalBG.delay(options.animationspeed).fadeOut(options.animationspeed); 
         modal.animate({ 
          "opacity" : 0 
         }, options.animationspeed, function() { 
          modal.css({'opacity' : 1, 'visibility' : 'hidden', 'top' : topMeasure}); 
          unlockModal(); 
         });     
        } 
        if(options.animation == "none") { 
         modal.css({'visibility' : 'hidden', 'top' : topMeasure}); 
         modalBG.css({'display' : 'none'}); 
        }  
       } 
       modal.unbind('reveal:close'); 
      });  

/*--------------------------- 
Open and add Closing Listeners 
----------------------------*/ 
      //Open Modal Immediately 
     modal.trigger('reveal:open') 

      //Close Modal Listeners 
      var closeButton = $('.' + options.dismissmodalclass).bind('click.modalEvent', function() { 
       modal.trigger('reveal:close') 
      }); 

      if(options.closeonbackgroundclick) { 
       modalBG.css({"cursor":"pointer"}) 
       modalBG.bind('click.modalEvent', function() { 
        modal.trigger('reveal:close') 
       }); 
      } 
      $('body').keyup(function(e) { 
       if(e.which===27){ modal.trigger('reveal:close'); } // 27 is the keycode for the Escape key 
      }); 


/*--------------------------- 
Animations Locks 
----------------------------*/ 
      function unlockModal() { 
       locked = false; 
      } 
      function lockModal() { 
       locked = true; 
      } 

     });//each call 
    }//orbit plugin call 
})(jQuery); 

и HTML код:

<!DOCTYPE html> 
<!-- 
* Markup for jQuery Reveal Plugin 1.0 
* www.ZURB.com/playground 
* Copyright 2010, ZURB 
* Free to use under the MIT license. 
* http://www.opensource.org/licenses/mit-license.php 
--> 
    <head> 
     <meta charset="utf-8" /> 
     <title>Reveal Demo</title> 

     <!-- Attach our CSS --> 
     <link rel="stylesheet" href="reveal.css"> 

     <!-- Attach necessary scripts --> 
     <!-- <script type="text/javascript" src="jquery-1.4.4.min.js"></script> --> 
     <script type="text/javascript" src="http://code.jquery.com/jquery-1.6.min.js"></script> 
     <script type="text/javascript" src="jquery.reveal.js"></script> 

     <style type="text/css"> 
      body { font-family: "HelveticaNeue","Helvetica-Neue", "Helvetica", "Arial", sans-serif; } 
      .big-link { display:block; margin-top: 100px; text-align: center; font-size: 70px; color: #06f; } 
     </style> 

    </head> 
    <body> 

     <a href="#" class="big-link" data-reveal-id="myModal"> 
      Fade and Pop 
     </a>  

     <a href="#" class="big-link" data-reveal-id="myModal" data-animation="fade"> 
      Fade 
     </a> 

     <a href="#" class="big-link" data-reveal-id="myModal" data-animation="none"> 
      None 
     </a> 

     <div id="myModal" class="reveal-modal"> 
      <h1>Reveal Modal Goodness</h1> 
      <p>This is a default modal in all its glory, but any of the styles here can easily be changed in the CSS.</p> 
      <a class="close-reveal-modal">&#215;</a> 
     </div> 

    </body> 
</html> 

В случае необходимости у меня есть 2-й яваскрипт кода, пожалуйста, не скорость вниз (я был заблокирован в течение длительного времени). Заранее спасибо.

+0

Ваш Модальный ящик открывается ??? щелкнув где ??? – Manwal

+0

Можете вы объяснить. Более ясно, что вы хотите. Вы хотите, чтобы ваше модальное диалоговое окно открывалось при загрузке документа? –

+0

нет. Я хочу автоматически открывать диалоговое окно после загрузки страницы. Спасибо вам, ребята :) – user3552778

ответ

3

Вы используете data-reveal-id для запуска плагина одним щелчком мыши. Вы также можете запускать его программно. Если вы хотите, чтобы вызвать на странице загрузки:

$(document).ready(function() { 
    // trigger reveal manually. 
    $('#myModal').reveal({ 
    animation: 'fadeAndPop',     //fade, fadeAndPop, none 
    animationspeed: 300,      //how fast animtions are 
    closeonbackgroundclick: true,    //if you click background will modal close? 
    dismissmodalclass: 'close-reveal-modal' //the class of a button or element that will close an open modal 
    }); 
}); 

Для получения более подробной информации читайте documentation.

+0

** '+ 1' ** Хорошее решение, [jsFiddle] (http://jsfiddle.net/xgtsac94/) для вашего кода;) – dashtinejad

+0

@ROX спасибо. http://jsfiddle.net/xgtsac94. – user3995789

+0

извините, но где я могу добавить этот код? :) Спасибо и извините за беспокойство. – user3552778

0

Запустить событие click для вашей желаемой ссылки, например, по первой ссылке. Добавьте этот блок кода перед </head>:

<script> 
    $(function() { 
     $('[data-reveal-id]').eq(0).trigger('click'); 
    }); 
</script> 

jsFiddle Demo.