Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Ładowanie treści strony do tabeli
Koniuu
post 5.03.2007, 18:56:47
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 5.03.2007

Ostrzeżenie: (0%)
-----


Witam,
Nie wiem, czy to się zalicza do JS czy HTML (w JS jestem zielony, a o HTML wiem niewiele); mianowicie chodzi mi o to, by po kliknięciu na link w tabeli otworzyła się strona w taki sposób, żeby ja rozciągnęła (żeby się cała zmieściła), ale tylko w pionie, nie w poziomie. Proszę o pomoc! cool.gif
Go to the top of the page
+Quote Post
envp
post 5.03.2007, 19:15:42
Post #2





Grupa: Zarejestrowani
Postów: 359
Pomógł: 1
Dołączył: 16.04.2006
Skąd: Łódź

Ostrzeżenie: (0%)
-----


Przepraszam, nie umiem liczyć, nie wiem jak to sie robi slyszalem o cyfrach i liczbach - pomóżcie. - Tyle można z twojego postu sie dowiedzieć. Konkretnie z czym masz problem i konkrenie o co Ci chodzi ?
Go to the top of the page
+Quote Post
Koniuu
post 8.03.2007, 12:23:15
Post #3





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 5.03.2007

Ostrzeżenie: (0%)
-----


Jak mogę szczegółowo mówić o czymś, o czym mam znikome pojęcie?

Jeszcze raz napiszę, o co mi chodzi:
Mam dokument html z tabelą (znacznik <table>, dla tych, którzy nie mogą wiedzieć, o czym mówię) i obok tej tabeli dwa linki do dwóch podstron. I teraz chciałbym, aby po kliknięciu na link numer jeden do tabeli załadowała się podstrona numer jeden, a po kliknięciu na link numer dwa analogicznie załadowała się treść podstrony numer dwa. I teraz sedno problemu, czyli rozciąganie się tabeli do rozmiarów załadowanej podstrony, lecz tylko na wysokość, a nie szerokość. Próbowałem to wykonać za pomocą pływającej ramki, jednak trzeba w jej atrybutach odgórnie zadeklarować wysokość, co mi w tym wypadku nieszczególnie pasuje.

Czy wyraziłem się dostatecznie jasno i klarownie, oraz wyprodukowałem odpowiedniej długości opis mojego problemu, abyś mógł mi teraz pomóc?

// EDIT

Znalazłem coś takiego, ale działa jedynie w IE. Czy da się zrobić coś podobnego dla innych przeglądarek?

// EDIT 2

Oj, przepraszam, jednak działa również pod FF, tylko zamiast atrybutu "id" zrobiłem "name", co IE tolerował, a FF już nie smile.gif. W związku z tym problem rozwiązany (myślę, że temat do usunięcia), a envp dziękuję za znikomą pomoc.

// EDIT 3

Niestety, to znów ja winksmiley.jpg.

Ciągle mam problem ze zwiększaniem długości IFRAME w zależności od długości zawartości. Znalazłem trzy skrypty JS i każdy w pewnym sensie działa, ale nie ma tak, żeby któryś działał we wszystkich przeglądarkach. Podam Wam te trzy skrypty i prosiłbym o pomoc w przerobieniu któregoś z nich tak, aby działał w każdej przeglądarce.

Skrypt 1:
Kod
function resizeIframe(x)
{
  try
  {
   x.scrolling='no';
   x.style.height=x.contentWindow.document.body.offsetHeight+60+'px'
  }
  catch(x){}
}

Niestety działa on Tylko pod Firefoxem.

Skrypt 2 (w onload ramki):
Kod
function()
{
try
{
  top.window.document.getElementById('ramka').style.height= document.body.scrollHeight+15+'px';
}
  catch(e){ }
}

Ten za to działa dobrze jedynie w Internet Explorerze, w FF ramka zostaje w wielkości dostosowanej do największej podstrony (nie zmniejsza się).

Kod
/**
* @author Sławomir Kokłowski {@link http://www.kurshtml.boo.pl}
* @copyright NIE usuwaj tego komentarza! (Do NOT remove this comment!)
*/

// Domyślny identyfikator IFRAME:
var autoiframe_id = 'autoiframe';
// Domyślny dolny margines:
var autoiframe_margin = 50;

var autoiframe_timer = null;
function autoiframe(id, margin)
{
    if (parent != self && document.body && document.body.offsetHeight && document.body.scrollHeight)
    {
        clearTimeout(autoiframe_timer)
        if (typeof id != 'undefined' && id) autoiframe_id = id;
        parent.document.getElementById(autoiframe_id).height = 1;
        autoiframe_timer = setTimeout("parent.document.getElementById(autoiframe_id).height = Math.max(document.body.offsetHeight, document.body.scrollHeight) + " + (typeof margin == 'undefined' || isNaN(parseInt(margin)) ? autoiframe_margin : parseInt(margin)), 1);
    }
}

if (window.addEventListener) window.addEventListener('load', function() { autoiframe(); }, false);
else if (window.attachEvent) window.attachEvent('onload', function() { autoiframe(); });

Ten działa jedynie w Firefoxie.

Czy mógłby mi ktoś pomóc? Już siedzę nad tymi ramkami parę dni i zaczynam dostawać na łeb. A może jest jakiś inny, prostszy sposób?

Ten post edytował Koniuu 8.03.2007, 12:24:06
Go to the top of the page
+Quote Post
gekon
post 8.03.2007, 12:34:45
Post #4





Grupa: Zarejestrowani
Postów: 614
Pomógł: 7
Dołączył: 10.11.2003
Skąd: Rzeszów/Kraków

Ostrzeżenie: (0%)
-----


Powalcz z tym:
  1. function resizeContent(){
  2. if(!document.all) myHeight = document.getElementById('ramka').contentDocument.body.scrollHeight; //reszta
  3. else myHeight = document.frames('ramka').document.body.scrollHeight; //IE
  4.  
  5. document.getElementById('ramka').style.height = myHeight + 'px';
  6. }


Ten post edytował gekon 8.03.2007, 12:35:21


--------------------
Pokaż kod = Pokaż CAŁY kod, najlepiej działający na jakimś serwerze.
Fanatycy | glazar.info | semantyka | HTML i XHTML FAQ
Go to the top of the page
+Quote Post
Koniuu
post 8.03.2007, 14:21:15
Post #5





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 5.03.2007

Ostrzeżenie: (0%)
-----


Nosz kurde, ciągle mi nie działa :|. Mógłbyś wejść na www.paranoyaband.yoyo.pl i zobaczyć, jak to wygląda? W dziale "Band" jest dużo tekstu, i to on powinien rozciągnąć ramkę. W IE robi ramkę na całą tabelę, ale jej nie rozciąga, a w FF jest tylko takie małe pole z tym tekstem...

// EDIT
W skrypcie dodałem alerta, żeby sprawdzić, czy jest wywoływany, ale się nie pokazuje, więc już nie wiem, co o tym myśleć sad.gif

// EDIT 2
No cóż. Nie zamknąłem jednego komentarza w skrypcie (specjalnie, on miał "dezaktywować" instrukcje aż do końca pliku), czego przeglądarka nie chciała zaakceptować tongue.gif. Nie zmienia to faktu, że na IE skrypt działa dobrze, a w FF ramka nadal nie wraca do mniejszej wielkości. :/

// EDIT 3
Yeah. Udało mi się jakoś z tym kodem od Ciebie wywalczyć posłuch u przeglądarek winksmiley.jpg.

Teraz następny problem, ale już z zupełnie innej beczki:
Użyłem pluginu ThickBox do JQuery. Wszystko działa właściwie dobrze, ale w takiej ilości kodu się gubię i nie potrafię zrobić koniecznych przeróbek. Chodzi o to, że robię jakby galerię (visit) na podstawie tego pluginu i okienko otwierające się po kliknięciu na zdjęcie otwiera się w ramce, przez co jest zbyt małe. Jak przerobić ten skrypt, by wszystkie instrukcje działały na głównej stronie, a nie na ramce? Oto link do skryptu: http://www.paranoyaband.yoyo.pl/thickbox.js

Ten post edytował Koniuu 8.03.2007, 17:49:59
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 16:05