2016-08-17 3 views
1

HTMLМодальные всплывающие повторяющиеся данные

<a class="btn" data-popup-open="popup-1" href="#">More Details</a> 

    <div class="popup" data-popup="popup-1"> 
    <div class="popup-inner"> 
    <h2>Wow! This is Awesome! (Popup #1)</h2> 
    <p>Per Serve : 5g Energy : 20kcal Protein : 0.0g Fat­Total : 0.0g Saturated &nbsp; 0.0g Carbohydrate : 0.0g Package Size : 1 x 24 x 350 g</p> 
    <p><a data-popup-close="popup-1" href="#">Close</a></p> 
    <a class="popup-close" data-popup-close="popup-1" href="#">x</a> 
    </div> 
    </div> 

<a class="btn" data-popup-open="popup-1" href="#">Quick inquiry</a> 

    <div class="popup" data-popup="popup-1"> 
    <div class="popup-inner"> 
    <h2>This is the one that wont work(Popup #1)</h2> 
    <p>Another data that wont appear</p> 
    <p><a data-popup-close="popup-1" href="#">Close</a></p> 
    <a class="popup-close" data-popup-close="popup-1" href="#">x</a> 
    </div> 
</div> 

CSS:

/* Outer */ 
.popup { 
    width:100%; 
    height:100%; 
    display:none; 
    position:fixed; 
    top:0px; 
    left:0px; 
    background:rgba(0,0,0,0.75); 
} 

/* Inner */ 
.popup-inner { 
    max-width:700px; 
    width:90%; 
    padding:40px; 
    position:absolute; 
    top:50%; 
    left:50%; 
    -webkit-transform:translate(-50%, -50%); 
    transform:translate(-50%, -50%); 
    box-shadow:0px 2px 6px rgba(0,0,0,1); 
    border-radius:3px; 
    background:#fff; 
} 

/* Close Button */ 
.popup-close { 
    width:30px; 
    height:30px; 
    padding-top:4px; 
    display:inline-block; 
    position:absolute; 
    top:0px; 
    right:0px; 
    transition:ease 0.25s all; 
    -webkit-transform:translate(50%, -50%); 
    transform:translate(50%, -50%); 
    border-radius:1000px; 
    background:rgba(0,0,0,0.8); 
    font-family:Arial, Sans-Serif; 
    font-size:20px; 
    text-align:center; 
    line-height:100%; 
    color:#fff; 
} 

.popup-close:hover { 
    -webkit-transform:translate(50%, -50%) rotate(180deg); 
    transform:translate(50%, -50%) rotate(180deg); 
    background:rgba(0,0,0,1); 
    text-decoration:none; 
} 

JQuery:

$(function() { 
//----- OPEN 
$('[data-popup-open]').on('click', function(e) { 
    var targeted_popup_class = jQuery(this).attr('data-popup-open'); 
    $('[data-popup="' + targeted_popup_class + '"]').fadeIn(350); 

    e.preventDefault(); 
}); 

//----- CLOSE 
$('[data-popup-close]').on('click', function(e) { 
    var targeted_popup_class = jQuery(this).attr('data-popup-close'); 
    $('[data-popup="' + targeted_popup_class + '"]').fadeOut(350); 

    e.preventDefault(); 
}); 
}); 

код работает, но он не показывает содержание второго всплывал в. Я пробовал использовать другой jquery, но ничего не меняет данные внутри всплывающего окна. При нажатии следующей кнопки данные в поле остаются неизменными. Как я могу это решить?

ответ

1

Вы должны изменить data-popup атрибуты для каждого всплывающего окна, например, popup-1 для первого и popup-2 для второго:

<a class="btn" data-popup-open="popup-1" href="#">More Details</a> 

    <div class="popup" data-popup="popup-1"> 
    <div class="popup-inner"> 
    <h2>Wow! This is Awesome! (Popup #1)</h2> 
    <p>Per Serve : 5g Energy : 20kcal Protein : 0.0g Fat­Total : 0.0g Saturated &nbsp; 0.0g Carbohydrate : 0.0g Package Size : 1 x 24 x 350 g</p> 
    <p><a data-popup-close="popup-1" href="#">Close</a></p> 
    <a class="popup-close" data-popup-close="popup-1" href="#">x</a> 
    </div> 
    </div> 

<a class="btn" data-popup-open="popup-2" href="#">Quick inquiry</a> 

    <div class="popup" data-popup="popup-2"> 
    <div class="popup-inner"> 
    <h2>This is the one that wont work(Popup #2)</h2> 
    <p>Another data that wont appear</p> 
    <p><a data-popup-close="popup-2" href="#">Close</a></p> 
    <a class="popup-close" data-popup-close="popup-2" href="#">x</a> 
    </div> 
</div> 
+0

Я чувствую себя немым, увидев ваш ответ, спасибо! –

+0

Не нужно чувствовать себя глупым, приветствую :) – andreas

0

Вам необходимо изменить значение data-popup-open на втором <a> элемента и изменить data-popup на втором <div class="popup"> элемента, чтобы соответствовать. Это связано с тем, что ваши javascript и css работают.

<a class="btn" data-popup-open="popup-1" href="#">More Details</a> 
 

 
<div class="popup" data-popup="popup-1"> 
 
    <div class="popup-inner"> 
 
    <h2>Wow! This is Awesome! (Popup #1)</h2> 
 
    <p>Per Serve : 5g Energy : 20kcal Protein : 0.0g Fat­Total : 0.0g Saturated &nbsp; 0.0g Carbohydrate : 0.0g Package Size : 1 x 24 x 350 g</p> 
 
    <p><a data-popup-close="popup-1" href="#">Close</a> 
 
    </p> 
 
    <a class="popup-close" data-popup-close="popup-1" href="#">x</a> 
 
    </div> 
 
</div> 
 

 
<!-- Changed data-popup-open to popup-2 --> 
 
<a class="btn" data-popup-open="popup-2" href="#">Quick inquiry</a> 
 
<!-- Change data-popup to popup-2 --> 
 
<div class="popup" data-popup="popup-2"> 
 
    <div class="popup-inner"> 
 
    <h2>This is the one that wont work(Popup #1)</h2> 
 
    <p>Another data that wont appear</p> 
 
    <p><a data-popup-close="popup-1" href="#">Close</a> 
 
    </p> 
 
    <a class="popup-close" data-popup-close="popup-1" href="#">x</a> 
 
    </div> 
 
</div>

0

вам нужно изменить data-popup-open и data-popup во втором модальный

<a class="btn" data-popup-open="popup-1" href="#">More Details</a> 

    <div class="popup" data-popup="popup-1"> 
    <div class="popup-inner"> 
    <h2>Wow! This is Awesome! (Popup #1)</h2> 
    <p>Per Serve : 5g Energy : 20kcal Protein : 0.0g Fat­Total : 0.0g Saturated &nbsp; 0.0g Carbohydrate : 0.0g Package Size : 1 x 24 x 350 g</p> 
    <p><a data-popup-close="popup-1" href="#">Close</a></p> 
    <a class="popup-close" data-popup-close="popup-1" href="#">x</a> 
    </div> 
    </div> 

<a class="btn" data-popup-open="popup-2" href="#">Quick inquiry</a> 

    <div class="popup" data-popup="popup-2"> 
    <div class="popup-inner"> 
    <h2>This is the one that wont work(Popup #1)</h2> 
    <p>Another data that wont appear</p> 
    <p><a data-popup-close="popup-2" href="#">Close</a></p> 
    <a class="popup-close" data-popup-close="popup-2" href="#">x</a> 
    </div> 
</div> 

https://jsfiddle.net/873ww7pj/

0

Проверьте этот фрагмент его Working .. для более модальностей изменение идентификатора или всплывающего окна

$(function() { 
 
//----- OPEN 
 
$('[data-popup-open]').on('click', function(e) { 
 
    var targeted_popup_class = jQuery(this).attr('data-popup-open'); 
 
    $('[data-popup="' + targeted_popup_class + '"]').fadeIn(350); 
 

 
    e.preventDefault(); 
 
}); 
 

 
//----- CLOSE 
 
$('[data-popup-close]').on('click', function(e) { 
 
    var targeted_popup_class = jQuery(this).attr('data-popup-close'); 
 
    $('[data-popup="' + targeted_popup_class + '"]').fadeOut(350); 
 

 
    e.preventDefault(); 
 
}); 
 
});
/* Outer */ 
 
.popup { 
 
width:100%; 
 
height:100%; 
 
display:none; 
 
position:fixed; 
 
top:0px; 
 
left:0px; 
 
background:rgba(0,0,0,0.75); 
 
} 
 

 
/* Inner */ 
 
.popup-inner { 
 
max-width:700px; 
 
width:90%; 
 
padding:40px; 
 
position:absolute; 
 
top:50%; 
 
left:50%; 
 
-webkit-transform:translate(-50%, -50%); 
 
transform:translate(-50%, -50%); 
 
box-shadow:0px 2px 6px rgba(0,0,0,1); 
 
border-radius:3px; 
 
background:#fff; 
 
} 
 

 
/* Close Button */ 
 
.popup-close { 
 
width:30px; 
 
height:30px; 
 
padding-top:4px; 
 
display:inline-block; 
 
position:absolute; 
 
top:0px; 
 
right:0px; 
 
transition:ease 0.25s all; 
 
-webkit-transform:translate(50%, -50%); 
 
transform:translate(50%, -50%); 
 
border-radius:1000px; 
 
background:rgba(0,0,0,0.8); 
 
font-family:Arial, Sans-Serif; 
 
font-size:20px; 
 
text-align:center; 
 
line-height:100%; 
 
color:#fff; 
 
} 
 

 
.popup-close:hover { 
 
-webkit-transform:translate(50%, -50%) rotate(180deg); 
 
transform:translate(50%, -50%) rotate(180deg); 
 
background:rgba(0,0,0,1); 
 
text-decoration:none; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<a class="btn" data-popup-open="popup-1" href="#">More Details</a> 
 

 
    <div class="popup" data-popup="popup-1"> 
 
    <div class="popup-inner"> 
 
    <h2>Wow! This is Awesome! (Popup #1)</h2> 
 
    <p>Per Serve : 5g Energy : 20kcal Protein : 0.0g Fat­Total : 0.0g Saturated &nbsp; 0.0g Carbohydrate : 0.0g Package Size : 1 x 24 x 350 g</p> 
 
    <p><a data-popup-close="popup-1" href="#">Close</a></p> 
 
    <a class="popup-close" data-popup-close="popup-1" href="#">x</a> 
 
    </div> 
 
    </div> 
 

 
<a class="btn" data-popup-open="popup-2" href="#">Quick inquiry</a> 
 
    <div class="popup" data-popup="popup-2"> 
 
    <div class="popup-inner"> 
 
    <h2>This is the one that wont work(Popup #1)</h2> 
 
    <p>Another data that wont appear</p> 
 
    <p><a data-popup-close="popup-2" href="#">Close</a></p> 
 
    <a class="popup-close" data-popup-close="popup-2" href="#">x</a> 
 
    </div> 
 
</div>

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