2008-11-14 16 views
8

Ajax Modal Popup denetimlerimizi bir JavaScript eşdeğeri ile değiştirmem gerekiyor. Bunu, basit bir içerik duyarlı yardım türü açılır penceresi olarak kullanırız. Hızlı bir göz attım ama aradığım şeyi pek görmedim. Sadece bir metne ve basit bir Kapat düğmesi/bağlantısına ihtiyacım var, ama Ajax modal kontrolü ile olduğu gibi sayfanın açılır pencerenin altında karartılmasını istiyorum.JavaScript kalıcı bir pop-up nasıl açılır (Ajax'ı değiştirmek için)?

Kullanmış olduğunuz güzel bir JavaScript açılır pencere/yardım türü çözümü önerebilir mi?

cevap

24

Size kodu verebilirim. Gerekli değişiklikleri yapın, tamam mı?

Sayfa JavaScript:

function myPop() { 
    this.square = null; 
    this.overdiv = null; 

    this.popOut = function(msgtxt) { 
     //filter:alpha(opacity=25);-moz-opacity:.25;opacity:.25; 
     this.overdiv = document.createElement("div"); 
     this.overdiv.className = "overdiv"; 

     this.square = document.createElement("div"); 
     this.square.className = "square"; 
     this.square.Code = this; 
     var msg = document.createElement("div"); 
     msg.className = "msg"; 
     msg.innerHTML = msgtxt; 
     this.square.appendChild(msg); 
     var closebtn = document.createElement("button"); 
     closebtn.onclick = function() { 
      this.parentNode.Code.popIn(); 
     } 
     closebtn.innerHTML = "Close"; 
     this.square.appendChild(closebtn); 

     document.body.appendChild(this.overdiv); 
     document.body.appendChild(this.square); 
    } 
    this.popIn = function() { 
     if (this.square != null) { 
      document.body.removeChild(this.square); 
      this.square = null; 
     } 
     if (this.overdiv != null) { 
     document.body.removeChild(this.overdiv); 
     this.overdiv = null; 
     } 

    } 
} 

Şimdi JavaScript dosyasını kullanarak HTML sayfası, Bu yardımcı olabilir

<html> 
    <head> 
    <script type="text/javascript" src="NAME OF THE PAGE!.js"></script> 
    <style> 
     div.overdiv { filter: alpha(opacity=75); 
         -moz-opacity: .75; 
         opacity: .75; 
         background-color: #c0c0c0; 
         position: absolute; 
         top: 0px; 
         left: 0px; 
         width: 100%; height: 100%; } 

     div.square { position: absolute; 
        top: 200px; 
        left: 200px; 
        background-color: Menu; 
        border: #f9f9f9; 
        height: 200px; 
        width: 300px; } 
     div.square div.msg { color: #3e6bc2; 
          font-size: 15px; 
          padding: 15px; } 
    </style> 
    </head> 
    <body> 
    <div style="background-color: red; width: 200px; height: 300px; 
       padding: 20px; margin: 20px;"></div> 

    <script type="text/javascript"> 
     var pop = new myPop(); 
     pop.popOut("Jose leal"); 
    </script> 
    </body> 
</html> 

Umut.

7

Simplemodal jQuery eklentisini kullandım ve bundan oldukça memnun kaldım. Bunu kontrol edebilirsiniz here.

0

Msg adında bir javascript kitaplığı geliştirdim. Kolayca bir modal pencere/açılır pencere oluşturulmasına izin verir. Arkaplanını koyulaştıran bir arka plan oluşturur. Kapat düğmesi yoktur, ancak arka plan kaplaması tıklanarak kapatılabilir.

İlgili konular