Comunidad de diseño web y desarrollo en internet online

como usar bpopup

Citar            
MensajeEscrito el 24 Sep 2013 12:59 am
hola que tal.

tengo una pequenia duda con el pluging bpopup http://dinbror.dk/bpopup/

lo estoy probando y la manera mas sencilla funciona, pero cuando trato de aplicar algunas de sus opciones no me funciona. es decir, esto que copio sirve:

Código :

<div id="element_to_pop_up">
<a class="b-close">x<a/>

<div class="content">
    Content of popup
</div>

</div>

Código :

 ;(function($) {

         // DOM Ready
        $(function() {

    
            $( function(e) {

                $('#element_to_pop_up').bPopup();

            });

        });

    })(jQuery);


pero cuando trato de usar sus propiedades usando esto no sirve, con el mismo html:
simplemente no hace nada

Código :

    ;(function($) {

         // DOM Ready
        $(function() {

    
            $( function(e) {

                 $('element_to_pop_up').bPopup({
            fadeSpeed: 'slow', //can be a string ('slow'/'fast') or int
            followSpeed: 1500, //can be a string ('slow'/'fast') or int
            modalColor: 'greenYellow'
        });
                

            });

        });

    })(jQuery);


en donde me estoy equivocando?

Por unasemana

Claber

166 de clabLevel



 

Venezuela

chrome
Citar            
MensajeEscrito el 24 Sep 2013 03:56 pm
Después de mucho tiempo de buscar en internet, buscando plugins en Jquery, AngularJs y CSS3, encontré que la mejor forma de montar los PopUps es hacerlos uno mismo sin necesidad de Plugins.

Como se hacen?


Un Popup, básicamente es una etiqueta que recubre toda la Window o ventana, para mostrar una información.

Jquery


Dado a ello se necesita escribir algo asi en el Html

Código HTML :

<a class="lights" rel="MiPopup">Dame mi popup!</a>
<div class="wapper-popup" id="MiPopup">
   <div id="content">
        <a id="close" class="ligths" rel="MiPopup" >x</a>
        <div id="innder">Mi contenido</div>
   </div>
</div>

En Css

Código CSS :

body {
   position : relative;
}
.wapper-popup  { // Se oscurse :P
   width : 100%;
   hiegth : 100%;
   position : absolute;
   background : rgba(0, 0, 0, 0.4);
   display : none;
}
#content {
  width : 150px;
  margin : 12% auto; // Este 12% queda casi un tris por encima de la mitad de la ventana
  background : #fff;
}
.show {
  display : block;
}

En el java script

Código Javascript :

$(".ligths").click(function(event){
   event.prevent();
   var id = $(this).attr("rel");
   $( ".wapper-popup#" + id ).toggleClass("show"); 
   // Si quieres ponerle animación le pones Fade pero desde jquery
});

AngularJs


En angular es aun mas sencillo, no ahy necesidad de escribir codigo JavaScript.

Código HTML :

<input id="MiPopup" class="hide" type="checkbox" ng-model="MiPopup" ng-init="MiPopup='hide';" 
checked="checked" ng-true-value="show" ng-false-value="hide" />
<label for="MiPopup">Dame mi popup!</label>
<div class="wapper-popup {{MiPopup}}" >
   <div id="content">
        <label for="MiPopup" >x</label>
        <div id="innder">Mi contenido</div>
   </div>
</div>

En Css

Código CSS :

body {
   position : relative;
}
.wapper-popup  { // Se oscurse :P
   width : 100%;
   hiegth : 100%;
   position : absolute;
   background : rgba(0, 0, 0, 0.4);
}
#content {
  width : 150px;
  margin : 12% auto; // Este 12% queda casi un tris por encima de la mitad de la ventana
  background : #fff;
}
.show {
  display : block;
}
.hide {
  display : none;
}

Ya funciona, el resto es poner animaciones por CSS 3 y listo!!!

CSS 3


Esta es la mejor! pero muy pocos navegadores soporta. :( Pero es la mas sencilla

Código HTML :

<input id="MiPopup" type="checkbox" checked="checked" />
<label for="MiPopup">Dame mi popup!</label>
<div class="wapper-popup" >
   <div id="content">
        <label for="MiPopup" >x</label>
        <div id="innder">Mi contenido</div>
   </div>
</div>

En Css

Código CSS :

body {
   position : relative;
}
.wapper-popup  { // Se oscurse :P
   width : 100%;
   hiegth : 100%;
   position : absolute;
   background : rgba(0, 0, 0, 0.4);
}
#content {
  width : 150px;
  margin : 12% auto; // Este 12% queda casi un tris por encima de la mitad de la ventana
  background : #fff;
}
#MiPopup, .wapper-popup {
  display : none;
}
#MiPopup:checked ~ .wapper-popup {
   display : block;
}


Conclusiones


Con la facilidad de hacer un Popup, lo mejor es créalo uno mismo, asi tiene mayor control de los scripts que se ejecutan en la web. Y con dos o tres modificaciones se puede cambiar el contenido, solo haciendo injeccion de Html. Espero que te halla servido.

Nota: tu problema esta en los CSS.

Por alejonext

Claber

235 de clabLevel

2 tutoriales

Genero:Masculino  

artista

firefox
Citar            
MensajeEscrito el 24 Sep 2013 05:12 pm
lo he resuelto asi:

Código :

<div id = "element_to_pop_up">
  <a class="b-close">x</a>
<div class = "popup"></div >
</div >



Código :

#element_to_pop_up { 
    background-color:#fff;
    border-radius:15px;
    color:#000;
    display:none; 
    padding:20px;
    min-width:400px;
    min-height: 180px;
}
.b-close{
    cursor:pointer;
    position:absolute;
    right:10px;
    top:5px;
}
#my-button {
   display: none;
}

body {
  background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAICAYAAADA+m62AAAAPklEQVQYV2NkwAT/gUKM6MLoAjBFGIqRFaJLovBhCrFaB7QeLg5SiEsRzJlgeQxHY/EcSOg/sQoxgwGHiQwA+f4KCL3Y/AQAAAAASUVORK5CYII=
  ) repeat;
}



Código :

    ;(function($) {

         // DOM Ready
        $(function() {

    
            $( function(e) {

                $('#element_to_pop_up').bPopup({
content:'iframe', //'ajax', 'iframe' or 'image'
            contentContainer:'.popup',
            loadUrl:'http://www.ableton.com', //Uses jQuery.load()
                     fadeSpeed: 'slow', //can be a string ('slow'/'fast') or int
            followSpeed: 1500, //can be a string ('slow'/'fast') or int
            modalColor: '#0099bb',
                  opacity: 0.6,
                  width:'1000px',
                  height:'100px'
                  
                  
                  
                  
});
                

            });

        });

    })(jQuery);











(function(b){b.fn.bPopup=function(u,C){function v(){a.modal&&b('<div class="b-modal '+d+'"></div>').css({backgroundColor:a.modalColor,position:"fixed",top:0,right:0,bottom:0,left:0,opacity:0,zIndex:a.zIndex+l}).each(function(){a.appending&&b(this).appendTo(a.appendTo)}).fadeTo(a.speed,a.opacity);A();c.data("bPopup",a).data("id",d).css({left:"slideIn"===a.transition?-1*(h+g):m(!(!a.follow[0]&&n||f)),position:a.positionStyle||"absolute",top:"slideDown"===a.transition?-1*(j+g):p(!(!a.follow[1]&&q||f)),"z-index":a.zIndex+l+1}).each(function(){a.appending&&b(this).appendTo(a.appendTo)});D(!0)}function r(){a.modal&&b(".b-modal."+c.data("id")).fadeTo(a.speed,0,function(){b(this).remove()});D();return!1}function E(s){var b=s.width(),d=s.height();a.contentContainer.css({height:d,width:b});d<=c.height()&&(d=c.height());b<=c.width()&&(b=c.width());t=c.outerHeight(!0);g=c.outerWidth(!0);a.contentContainer.css({height:"auto",width:"auto"});A();c.dequeue().animate({left:m(!(!a.follow[0]&&n||f)),top:p(!(!a.follow[1]&&q||f)),height:d,width:b},250,function(){s.show();w=B()})}function D(b){switch(a.transition){case "slideIn":c.show().animate({left:b?m(!(!a.follow[0]&&n||f)):-1*(h+g)},a.speed,a.easing,function(){x(b)});break;case "slideDown":c.show().animate({top:b?p(!(!a.follow[1]&&q||f)):-1*(j+t)},a.speed,a.easing,function(){x(b)});break;default:b?c.fadeIn(a.speed,function(){x(b)}):c.stop().fadeOut(a.speed,a.easing,function(){x(b)})}}function x(s){s?(e.data("bPopup",l),c.delegate("."+a.closeClass,"click."+d,r),a.modalClose&&b(".b-modal."+d).css("cursor","pointer").bind("click",r),!F&&(a.follow[0]||a.follow[1])&&e.bind("scroll."+d,function(){w&&c.dequeue().animate({left:a.follow[0]?m(!f):"auto",top:a.follow[1]?p(!f):"auto"},a.followSpeed,a.followEasing)}).bind("resize."+d,function(){if(w=B())A(),c.dequeue().each(function(){f?b(this).css({left:h,top:j}):b(this).animate({left:a.follow[0]?m(!0):"auto",top:a.follow[1]?p(!0):"auto"},a.followSpeed,a.followEasing)})}),a.escClose&&y.bind("keydown."+d,function(a){27==a.which&&r()}),k(C)):(a.scrollBar||b("html").css("overflow","auto"),b(".bModal."+d).unbind("click"),y.unbind("keydown."+d),e.unbind("."+d).data("bPopup",0<e.data("bPopup")-1?e.data("bPopup")-1:null),c.undelegate("."+a.closeClass,"click."+d,r).data("bPopup",null).hide(),k(a.onClose),a.loadUrl&&(a.contentContainer.empty(),c.css({height:"auto",width:"auto"})))}function m(a){return a?h+y.scrollLeft():h}function p(a){return a?j+y.scrollTop():j}function k(a){b.isFunction(a)&&a.call(c)}function A(){var b;q?b=a.position[1]:(b=((window.innerHeight||e.height())-t)/2-a.amsl,b=b<z?z:b);j=b;h=n?a.position[0]:((window.innerWidth||e.width())-g)/2;w=B()}function B(){return(window.innerHeight||e.height())>c.outerHeight(!0)+z&&(window.innerWidth||e.width())>c.outerWidth(!0)+z}b.isFunction(u)&&(C=u,u=null);var a=b.extend({},b.fn.bPopup.defaults,u);a.scrollBar||b("html").css("overflow","hidden");var c=this,y=b(document),e=b(window),F=/OS 6(_\d)+/i.test(navigator.userAgent),z=20,l=0,d,w,q,n,f,j,h,t,g;c.close=function(){a=this.data("bPopup");d="__b-popup"+e.data("bPopup")+"__";r()};return c.each(function(){if(!b(this).data("bPopup"))if(k(a.onOpen),l=(e.data("bPopup")||0)+1,d="__b-popup"+l+"__",q="auto"!==a.position[1],n="auto"!==a.position[0],f="fixed"===a.positionStyle,t=c.outerHeight(!0),g=c.outerWidth(!0),a.loadUrl)switch(a.contentContainer=b(a.contentContainer||c),a.content){case "iframe":b('<iframe class="b-iframe" scrolling="no" frameborder="0"></iframe>').attr("src",a.loadUrl).appendTo(a.contentContainer);k(a.loadCallback);t=c.outerHeight(!0);g=c.outerWidth(!0);v();break;case "image":v();b("<img />").load(function(){k(a.loadCallback);E(b(this))}).attr("src",a.loadUrl).hide().appendTo(a.contentContainer);break;default:v(),b('<div class="b-ajax-wrapper"></div>').load(a.loadUrl,a.loadData,function(){k(a.loadCallback);E(b(this))}).hide().appendTo(a.contentContainer)}else v()})};b.fn.bPopup.defaults={amsl:50,appending:!0,appendTo:"body",closeClass:"b-close",content:"ajax",contentContainer:!1,easing:"swing",escClose:!0,follow:[!0,!0],followEasing:"swing",followSpeed:500,loadCallback:!1,loadData:!1,loadUrl:!1,modal:!0,modalClose:!0,modalColor:"#000",onClose:!1,onOpen:!1,opacity:0.7,position:["auto","auto"],positionStyle:"absolute",scrollBar:!0,speed:250,transition:"fadeIn",zIndex:9997}})(jQuery);

Por unasemana

Claber

166 de clabLevel



 

Venezuela

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.