2014-11-21 4 views
0

Я использовал bPopup.js http://dinbror.dk/blog/bPopup/, чтобы создать всплывающее окно, и оно отлично работает - для одного всплывающего окна. Я действительно хочу несколько всплывающих окон, каждый из которых запускается другой кнопкой.jQuery pop ups - несколько pop ups

У меня есть это:

<input type="submit" class="newbutton" style="width:90px;" value="launch pop up 1" name="launch pop up" id="launchpopup1" > 

<input type="submit" class="newbutton" style="width:90px;" value="launch pop up 2" name="launch pop up" id="launchpopup2" > 

<input type="submit" class="newbutton" style="width:90px;" value="launch pop up 3" name="launch pop up" id="launchpopup3" > 

Но я не знаю, что изменить здесь, чтобы различать "launchpopup1" и "launchpopup2" и "launchpopup3" ..

// Semicolon (;) to ensure closing of earlier scripting 
// Encapsulation 
// $ is assigned to jQuery 
;(function($) { 

// DOM Ready 
$(function() { 

    // Binding a click event 
    // From jQuery v.1.7.0 use .on() instead of .bind() 
    $('#my-button').bind('click', function(e) { 

     // Prevents the default action to be triggered. 
     e.preventDefault(); 

     // Triggering bPopup when click event is fired 
     $('#element_to_pop_up').bPopup(); 

    }); 

}); 

})(jQuery); 

/*================================================================================ 
* @name: bPopup - if you can't get it up, use bPopup 
* @author: (c)Bjoern Klinggaard ([email protected]) 
* @demo: http://dinbror.dk/bpopup 
* @version: 0.9.4.min 
================================================================================*/ 
(function(b){b.fn.bPopup=function(z,F){function K(){a.contentContainer=b(a.contentContainer||c);switch(a.content){case "iframe":var h=b('<iframe class="b-iframe" '+a.iframeAttr+"></iframe>");h.appendTo(a.contentContainer);r=c.outerHeight(!0);s=c.outerWidth(!0);A();h.attr("src",a.loadUrl);k(a.loadCallback);break;case "image":A();b("<img />").load(function(){k(a.loadCallback);G(b(this))}).attr("src",a.loadUrl).hide().appendTo(a.contentContainer);break;default:A(),b('<div class="b-ajax-wrapper"></div>').load(a.loadUrl,a.loadData,function(){k(a.loadCallback);G(b(this))}).hide().appendTo(a.contentContainer)}}function A(){a.modal&&b('<div class="b-modal '+e+'"></div>').css({backgroundColor:a.modalColor,position:"fixed",top:0,right:0,bottom:0,left:0,opacity:0,zIndex:a.zIndex+t}).appendTo(a.appendTo).fadeTo(a.speed,a.opacity);D();c.data("bPopup",a).data("id",e).css({left:"slideIn"==a.transition||"slideBack"==a.transition?"slideBack"==a.transition?g.scrollLeft()+u:-1*(v+s):l(!(!a.follow[0]&&m||f)),position:a.positionStyle||"absolute",top:"slideDown"==a.transition||"slideUp"==a.transition?"slideUp"==a.transition?g.scrollTop()+w:x+-1*r:n(!(!a.follow[1]&&p||f)),"z-index":a.zIndex+t+1}).each(function(){a.appending&&b(this).appendTo(a.appendTo)});H(!0)}function q(){a.modal&&b(".b-modal."+c.data("id")).fadeTo(a.speed,0,function(){b(this).remove()});a.scrollBar||b("html").css("overflow","auto");b(".b-modal."+e).unbind("click");g.unbind("keydown."+e);d.unbind("."+e).data("bPopup",0<d.data("bPopup")-1?d.data("bPopup")-1:null);c.undelegate(".bClose, ."+a.closeClass,"click."+e,q).data("bPopup",null);H();return!1}function G(h){var b=h.width(),e=h.height(),d={};a.contentContainer.css({height:e,width:b});e>=c.height()&&(d.height=c.height());b>=c.width()&&(d.width=c.width());r=c.outerHeight(!0);s=c.outerWidth(!0);D();a.contentContainer.css({height:"auto",width:"auto"});d.left=l(!(!a.follow[0]&&m||f));d.top=n(!(!a.follow[1]&&p||f));c.animate(d,250,function(){h.show();B=E()})}function L(){d.data("bPopup",t);c.delegate(".bClose, ."+a.closeClass,"click."+e,q);a.modalClose&&b(".b-modal."+e).css("cursor","pointer").bind("click",q);M||!a.follow[0]&&!a.follow[1]||d.bind("scroll."+e,function(){B&&c.dequeue().animate({left:a.follow[0]?l(!f):"auto",top:a.follow[1]?n(!f):"auto"},a.followSpeed,a.followEasing)}).bind("resize."+e,function(){w=y.innerHeight||d.height();u=y.innerWidth||d.width();if(B=E())clearTimeout(I),I=setTimeout(function(){D();c.dequeue().each(function(){f?b(this).css({left:v,top:x}):b(this).animate({left:a.follow[0]?l(!0):"auto",top:a.follow[1]?n(!0):"auto"},a.followSpeed,a.followEasing)})},50)});a.escClose&&g.bind("keydown."+e,function(a){27==a.which&&q()})}function H(b){function d(e){c.css({display:"block",opacity:1}).animate(e,a.speed,a.easing,function(){J(b)})}switch(b?a.transition:a.transitionClose||a.transition){case "slideIn":d({left:b?l(!(!a.follow[0]&&m||f)):g.scrollLeft()-(s||c.outerWidth(!0))-C});break;case "slideBack":d({left:b?l(!(!a.follow[0]&&m||f)):g.scrollLeft()+u+C});break;case "slideDown":d({top:b?n(!(!a.follow[1]&&p||f)):g.scrollTop()-(r||c.outerHeight(!0))-C});break;case "slideUp":d({top:b?n(!(!a.follow[1]&&p||f)):g.scrollTop()+w+C});break;default:c.stop().fadeTo(a.speed,b?1:0,function(){J(b)})}}function J(b){b?(L(),k(F),a.autoClose&&setTimeout(q,a.autoClose)):(c.hide(),k(a.onClose),a.loadUrl&&(a.contentContainer.empty(),c.css({height:"auto",width:"auto"})))}function l(a){return a?v+g.scrollLeft():v}function n(a){return a?x+g.scrollTop():x}function k(a){b.isFunction(a)&&a.call(c)}function D(){x=p?a.position[1]:Math.max(0,(w-c.outerHeight(!0))/2-a.amsl);v=m?a.position[0]:(u-c.outerWidth(!0))/2;B=E()}function E(){return w>c.outerHeight(!0)&&u>c.outerWidth(!0)}b.isFunction(z)&&(F=z,z=null);var a=b.extend({},b.fn.bPopup.defaults,z);a.scrollBar||b("html").css("overflow","hidden");var c=this,g=b(document),y=window,d=b(y),w=y.innerHeight||d.height(),u=y.innerWidth||d.width(),M=/OS 6(_\d)+/i.test(navigator.userAgent),C=200,t=0,e,B,p,m,f,x,v,r,s,I;c.close=function(){a=this.data("bPopup");e="__b-popup"+d.data("bPopup")+"__";q()};return c.each(function(){b(this).data("bPopup")||(k(a.onOpen),t=(d.data("bPopup")||0)+1,e="__b-popup"+t+"__",p="auto"!==a.position[1],m="auto"!==a.position[0],f="fixed"===a.positionStyle,r=c.outerHeight(!0),s=c.outerWidth(!0),a.loadUrl?K():A())})};b.fn.bPopup.defaults={amsl:50,appending:!0,appendTo:"body",autoClose:!1,closeClass:"popupclose",content:"ajax",contentContainer:!1,easing:"swing",escClose:!0,follow:[!0,!0],followEasing:"swing",followSpeed:500,iframeAttr:'scrolling="no" frameborder="0"',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",transitionClose:!1,zIndex:9997}})(jQuery); 

и вот html моего pop ups - им надеется «добраться до них», используя свои идентификаторы.

<div id="element_to_pop_up1"> 
    <a class="popupclose"><i class="fa fa-times-circle"></i></a><br /> 
    My pop up 1 
</div> 

<div id="element_to_pop_up3"> 
    <a class="popupclose"><i class="fa fa-times-circle"></i></a><br /> 
    My pop up 2 
</div> 

<div id="element_to_pop_up2"> 
    <a class="popupclose"><i class="fa fa-times-circle"></i></a><br /> 
    My pop up 2 
</div> 

Может ли кто-нибудь помочь мне с модификацией jquery, пожалуйста?

Большое спасибо!

Ник

ответ

0

Если я не получаю это неправильно вам просто нужно это

$('#launchpopup1').bind('click', function (e) { 
    // Prevents the default action to be triggered. 
    e.preventDefault(); 
    // Triggering bPopup when click event is fired 
    $('#element_to_pop_up1').bPopup(); 
}); 

$('#launchpopup2').bind('click', function (e) { 
    // Prevents the default action to be triggered. 
    e.preventDefault(); 
    // Triggering bPopup when click event is fired 
    $('#element_to_pop_up2').bPopup(); 
}); 

$('#launchpopup3').bind('click', function (e) { 
    // Prevents the default action to be triggered. 
    e.preventDefault(); 
    // Triggering bPopup when click event is fired 
    $('#element_to_pop_up3').bPopup(); 
}); 

обновленный

$('#launchpopup1').on('click', function (e) { 
    // Prevents the default action to be triggered. 
    e.preventDefault(); 
    // Triggering bPopup when click event is fired 
    $('#element_to_pop_up1').bPopup(); 
}); 

$('#launchpopup2').on('click', function (e) { 
    // Prevents the default action to be triggered. 
    e.preventDefault(); 
    // Triggering bPopup when click event is fired 
    $('#element_to_pop_up2').bPopup(); 
}); 

$('#launchpopup3').on('click', function (e) { 
    // Prevents the default action to be triggered. 
    e.preventDefault(); 
    // Triggering bPopup when click event is fired 
    $('#element_to_pop_up3').bPopup(); 
}); 
+0

Спасибо @Ramzan Зафар - но я не успел получите это, чтобы работать. Во-первых, 3 divs сразу видны в нижней части страницы, и когда я нажимаю кнопки для запуска всплывающих окон - ничего не происходит. – happysailingdude

+0

Я пытаюсь опубликовать мои измененные js, но это поле допускает только 500 символов .. – happysailingdude

+0

if у кого-нибудь есть что-нибудь еще, я был бы так благодарен - спасибо – happysailingdude

Смежные вопросы