Причина, по которой это не сработало, заключалась в том, что для каждой всплывающей ссылки #go #go1 #go2
вам нужны три отдельных обработчика событий, а не один. Вот почему при нажатии на одну из них появляется несколько ящиков, и ни одна из них не появляется при нажатии на две другие.
Чтобы заставить это работать, я бы переписал скрипт всплывающих окон для поддержки нескольких всплывающих окон. Но вы можете просто сделать это процедурно, не используя функции.
HTML (Объедините код ниже с вашим. Идентификаторы, имена классов относятся к JavaScript)
<li id='sinopsi' class='openlink'>Sinopsi
<div class='popup' id='popup1'>Popup 1<span class='closex'>x</span></div>
</li>
<li id='fitxa' class='openlink'>Fitxa
<div class='popup' id='popup2'>Popup 2<span class='closex'>x</span></div>
</li>
<li id='autors' class='openlink'>Autors
<div class='popup' id='popup3'>Popup 2<span class='closex'>x</span></div>
</li>
JavaScript
<script>
$(function(){
$('#sinopsi').click(function(){ // Activates the popups
$('#popup1').fadeIn('fast')
});
$('#fitxa').click(function(){
$('#popup2').fadeIn('fast')
});
$('#sinopsi').click(function(){
$('#popup3').fadeIn('fast')
});
/* //Note that if your HTML is properly nested you could easily have this command execute your popups instead of the three above
$('.openlink').click(function(){
$(this)
.find('.popup') // finds your nested popup div
.fadeIn('fast')
;
});
*/
$('.closex').click(function(){ // closes the popup, when X is clicked
$('.popup').fadeOut('fast');
});
$('.popup').keypress(function(e){ // close popup via ESC key.
if(e.keyCode==27){
$(this).fadeOut('fast');
}
});
$('.popup').css({opacity: "0.7"}); // copies over the transparency
});
</script>
CSS (убедитесь, что всплывающие окна скрыты.)
.popup{display:none}
Удачи, приятель, сайт выглядит хорошо, кстати. Вы должны действительно узнать больше о jQuery, он довольно мощный и действительно простой в использовании по сравнению с просто JavaScript. Я думаю, вам понравится.
http://jquery.com/
http://api.jquery.com/click/
p.s. Не беспокойтесь обо всех этих анонимных функциях function(){//do stuff}
, это просто сокращение function bar(){//do stuff} $('.open').click(bar)