Ta strona używa ciasteczek (cookies), dzięki którym nasz serwis może działać lepiej. Dowiedz się więcej OK, rozumiem

Otwieranie DIVów js - HELP

Tworzenie dynamicznych stron internetowych z zastosowaniem JavaScript, jQuery, Ajax. Dowiedz się jak to zrobić, znajdź rozwiązania swoich problemów.

Otwieranie DIVów js - HELP

Post 23.05.2011, 10:20:38

Witam, mam problem z edycją skryptu js. Skrypt polega na wczytywaniu div'a za pomocą JS jednak nie działa on tak jak bym chciał. W skrypcie mam dwa linki: "Kliknij 1", który otwiera div o nazwie "jdiv" oraz "Kliknij 2", który otwiera "adiv". Można je otworzyć jednocześnie i tu pojawia się mój problem. Chciałbym, aby można było otworzyć wyłącznie jeden z nich tzn klikając na "kliknij 1" otwiera się "jdiv" i gdy ten jest otwarty klikam na "kliknij 2" i zamyka się "jdiv" a otwiera "adiv".

Kod wygląda następująco:
Kod: Zaznacz cały
<a href="java script:jchange('jdiv');">Kliknij 1</A>
<div id="jdiv" style="display:none;">Zawartość diva nr 1<a href="java script:jchange('jdiv');">Close (X)</A>.</div>

<br><br>
<a href="java script:jchange('adiv');">Kliknij 2</A>
<div id="adiv" style="display:none;">Zawartość diva nr 2<a href="java script:jchange('adiv');">Close (X)</A>.</div>


<script language="javascript" type="text/javascript">
function jchange(o) {
var fold_image = new Array();
fold_image[0] = "/images/openarrow.gif";
fold_image[1] = "/images/closedarrow.gif";

if(document.getElementById(o).style.display=='none') {
document.getElementById(o).style.display='block';
 if(document.getElementById('nfolding')) {
document.getElementById('nfolding').src=fold_image[0];
  }
 } else {
document.getElementById(o).style.display='none';
   if(document.getElementById('nfolding')) {
document.getElementById('nfolding').src=fold_image[1];
   }
   }
 
 }
</script>


Czy ktoś potrafi mi w tym pomóc?
Z góry dziękuję.
sha098
Posty: 1
Dołączył(a): 23.05.2011

Re: Otwieranie DIVów js - HELP

Post 03.06.2011, 10:58:45

najciekawszym rozwiązaniem tutaj byłoby toggle z jquery wtedy móglbys sie odwołać do wszystkich divów danej klasy . na potrzeby tego skryptu podsyłam kod gdzie dodane są linijki

Kod: Zaznacz cały
document.getElementById('jdiv').style.display = 'none';
document.getElementById('adiv').style.display = 'none';


a mianowicie

Kod: Zaznacz cały
function jchange(o) {
var fold_image = new Array();
fold_image[0] = "/images/openarrow.gif";
fold_image[1] = "/images/closedarrow.gif";

document.getElementById('jdiv').style.display = 'none';
document.getElementById('adiv').style.display = 'none';

if(document.getElementById(o).style.display=='none') {
document.getElementById(o).style.display='block';
if(document.getElementById('nfolding')) {
document.getElementById('nfolding').src=fold_image[0];
  }
} else {
document.getElementById(o).style.display='none';
   if(document.getElementById('nfolding')) {
document.getElementById('nfolding').src=fold_image[1];
   }
   }

}


ps. pisze sie href="javascript:jakasfunkcja()" a nie href="java script:jakasfunkcja();"
DRAGON1985
xenna

Posty: 534
Dołączył(a): 12.06.2005

Re: Otwieranie DIVów js - HELP

Post 05.06.2011, 13:42:05

jeśli cię dobrze zrozumiałem, w jquery to są 2 linijki. wrzucam cały kod html, żeby było wiadomo co się do czego odnosi. skrypt 'rozbiłem', żeby był bardziej czytelny

Kod: Zaznacz cały
<html>
<head>
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
   <title></title>
<script type="text/javascript" src="jQuery.js"></script>

<script type="text/javascript">

$(document).ready(function()

{
$("#jdiva").click(function(){

$("#jdiv").show();
$("#adiv").hide();

});

$("#adiva").click(function(){

$("#adiv").show();
$("#jdiv").hide();

});

});

</script>


</head>
<body>

<a id="jdiva" href="#">jdiva</a>
<a id="adiva" href="#">adiva</a>

<div id="jdiv" style="display:none;">jdiv</div>
<div id="adiv" style="display:none;">adiv</div>

</body>
</html>


żeby działało, musisz do folderu gdzie jest strona wrzucić plik jQuery.js
możesz go ściągnąć z oficjalnej strony jquery lub z http://c902.ssl2.pl/jQuery.js
mathek
Posty: 44
Dołączył(a): 30.04.2011


Powrót do JavaScript


 


  • Podobne wątki
    Odpowiedzi
    Wyświetlone
    Ostatni post

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 5 gości

Hosting, Domeny, SSL

Subskrypcja

Mamy 51518 zarejestrowanych użytkowników.
Najnowszy użytkownik: Georgeloore


Nasi użytkownicy napisali:

  • 937846 wiadomości
  • w 247510 tematach

Najnowsze wpisy na blogu

Najnowsze artykuły

Najaktywniejsi (ostatnie 30 dni)