IT NEWS PC REVUE PC FORUM FreeBSDInternet time: @097
Obsah fóra
Pravidlá  •  Kontakt  •  Prihlásenie  •  Registrácia

Prejdite do O2

s platbou na faktúru a získajte bonus 50€. Len v e-shope. www.o2.sk

Neuveriteľne lacná .sk doména

Rýchla registrácia domén za výborné ceny. www.exohosting.sk

Spoločnosti Online s.r.o.

Ponúkame čisté spoločnosti. Obchodný register vybavíme za vás! www.spolecnostionline.cz

Lacné ubytovanie pri Balatone

Ubytuj sa teraz až s 50% zľavou Akciové zľavy na viac ako 1000 ubytovaní szallasguru.sk

Poistenie nehnuteľnosti

V prípade núdze sa postaráme o Vaše náhradné bývanie - UNIQA Assistance www.uniqa.sk

Include dynamický

Zaslať odpoveď
AutorSpráva
Azuritko
Užívateľ
Užívateľ

Založený: 08.07.2009
Príspevky: 10

PríspevokZaslal: Po 30.01.12 13:25Odpovedať s citátomNávrat hore

Zdravím, snažím sa vytvoriť stránku podľa toho čo som si zaumienil, ale narazil som na problém, ako zabezpečiť načítavanie stránok po kliknutí na odkaz a pritom uchovať rovnakú funkčnosť stránky.
V základe funguje stránka takto: index.php zobrazí toto



Ak kliknem na tlačidlá na boku, tak sa mi plynule vysunie tablet




pričom mám tri rôzne talbety, pretože dva tablety ešte obsahujú osobitne tlačidlá pre ďalšie podkategórie. Mám to urobené tak, že tablet môžem spodným tlačidlom vypnutia zavrieť/zasunúť, ak kliknem na odkaz kde je tablet iný (s tlačidlami alebo bez), tak sa najprv aktuálny schová a v zápätí sa ukáže nový, ak kliknem na tlačidlo, kde je tablet rovnaký ako aktuálny, tak sa s aktuálnym neudeje nič (zmeniť by sa mal iba obsah v bielom priestore).
A čo chcem dosiahnuť? Text, obrázky... čiže obsah stránky sa má zobrazovať v bielom priestore tabletu po kliknutí na jednotlivé tlačidlá (v kóde oblasť <div id="pozadie"> pre konkrétny tablet). Ako to urobiť tak, aby mi index.php ostal načítaný bezozmeny, čiže aby sa všetko dialo tak ako má a pritom aby sa do bieleho priestoru načítal obsah požadovanej stránky? Našiel som nejaký návod na include, niečo takéto:

kód:
<?php
   $page = $_GET['page'];
   $pages = array('page1', 'page2', 'page3');
   if (!empty($page)) {
      if(in_array($page,$pages)) {
         $page .= '.php';
         include($page);
      }
      else {
      echo 'Page not found. Return to
      <a href="index.php">index</a>';
      }
   }
   else {
      include('page1.php');
   }
?>

ale ak som to dobre pochopil, vždy to nanovo načíta aj samotný index.php, takže tablet zmizne.
No akosi sa mi nepodarilo to rozbehať ani s jednoduchou stránkou a neviem čo má obsahovať napr. page1.php. Iba kód typu <p>nieco</p> alebo aj <head> a <body>?


Tu je kód mojej stránky:
kód:
<html>
<head>
<title>Naše profily</title>
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1250">
<link rel="Shortcut Icon" href="/favicon.ico" type="image/x-icon">
<link rel="icon" href="/favicon.ico" type="image/x-icon">
<link rel="stylesheet" type="text/css" href="styles.css" />
<script src="jquery-1.7.1.min.js" type="text/javascript" ></script>
<script src="jquery-ui.min.js" type="text/javascript" ></script>

</head>
<body>

<div id="zaklad">


<div id="tlacidlo">
<a href="#" class="fotky"></a>
<a href="#" class="video"></a>
<a href="#" class="diskusia"></a>
<a href="#" class="onas"></a>
<a href="#" class="zbrane"></a>
<a href="#" class="akcie"></a>
</div>

<div class="tabletc">
<div class="vypinac"></div>
<div id="pozadie">      

</div>
</div>

<div class="tabletb">
<div class="vypinac"></div>
<div id="tabtlac"><a href="#" class="tabburk"></a><a href="#" class="tabhil"></a><a href="#" class="tablest"></a></div>
<div id="pozadie">      

</div>      
</div>

<div class="tablet">
<div class="vypinac"></div>
<div id="tabtlac"><a href="#" class="tabroz"></a><a href="#" class="tabburk"></a><a href="#" class="tabhil"></a><a href="#" class="tablest"></a></div>
<div id="pozadie">      

</div>
</div>
</div>

<script>
var x
var y
var z

$(document).ready(function() {
$('.video,.diskusia,.onas,.zbrane').click(function () {
     if (x) $('.tabletb').hide("slide", { direction: "up" }, 1000);
     if (y) $('.tablet').hide("slide", { direction: "up" }, 1000),
     x = true;
         
     if (x) $('.tabletc').delay(1000).show("slide", { direction: "up" }, 1000),
     x = false, y = false, z = true;
     if (z);
  else
  $('.tabletc').show("slide", { direction: "up" }, 1000),
  z = true;
   });
  });

$(document).ready(function() {
$('.fotky').click(function () {
     if (x) $('.tabletb').hide("slide", { direction: "up" }, 1000);
     if (z) $('.tabletc').hide("slide", { direction: "up" }, 1000),
     x = true;
         
     if (x) $('.tablet').delay(1000).show("slide", { direction: "up" }, 1000),
     x = false, z = false, y = true;
     if (y);
  else
  $('.tablet').show("slide", { direction: "up" }, 1000),
  y = true;
   });
  });
 
$(document).ready(function() { 
$('.akcie').click(function () {
     if (y) $('.tablet').hide("slide", { direction: "up" }, 1000);
     if (z) $('.tabletc').hide("slide", { direction: "up" }, 1000),
     y = true;
     
     if (y) $('.tabletb').delay(1000).show("slide", { direction: "up" }, 1000),
     y = false, z = false, x = true;
     if (x);
   else
   $('.tabletb').show("slide", { direction: "up" }, 1000),
   x = true;
    });
   });
   
$(document).ready(function() {
$('.vypinac').click(function () {
     if (y) $('.tablet').hide("slide", { direction: "up" }, 1000),
     y = false;
     if (x) $('.tabletb').hide("slide", { direction: "up" }, 1000),
     x = false;
     if (z) $('.tabletc').hide("slide", { direction: "up" }, 1000),
     z = false;
   });
  });

   $(document).ready(function() {
      $('.fotky,.video,.diskusia,.onas,.zbrane,.akcie,.tabroz,.tabburk,.tabhil,.tablest').append('<span class="hover"></span>').each(function () {
           var $span = $('> span.hover', this).css('opacity', 0);
           $(this).hover(function () {
             $span.stop().fadeTo(1000, 1);
          }, function () {
         $span.stop().fadeTo(1000, 0);
            });
      });
   });

</script>
</body>
</html>
Zobraziť informácie o autoroviOdoslať súkromnú správu
shaggy
Moderátor
Moderátor

Založený: 21.02.2006
Príspevky: 4627
Bydlisko: Bratislava

PríspevokZaslal: Po 30.01.12 19:38Odpovedať s citátomNávrat hore

tl;dr
Ak máš problém, skús ho spísať pár vetami + daj odkaz na ukážku. Nikto sa nebude prehrabávať x riadkami kódu (ktorý si nemôže ani vyskúšať).
K tomu, čo som pochopil z tvojho chaotického popisu ti môžem poradiť len jednu vec - ajax. Naštuduj si, čo to je a ako sa to používa.

_________________
Neradím a nekomunikujem cez SS, ak niečo potrebujete, máte iné možnosti: Ak vám zmizla téma, alebo sa vám niečo nepáči. Ak potrebujete nahlásiť príspevok/človeka, reportujte ho. Ak máte s niečim problém, riešte to v danej téme.
Zobraziť informácie o autoroviOdoslať súkromnú správuOdoslať e-mailZobraziť autorove WWW stránky
Azuritko
Užívateľ
Užívateľ

Založený: 08.07.2009
Príspevky: 10

PríspevokZaslal: Ut 31.01.12 0:21Odpovedať s citátomNávrat hore

Najjednoduchšie ako to viem povedať je že:

Potrebujem v stránke index.php vložiť v kóde

kód:
<div class="tablet">
<div class="vypinac"></div>
<div id="tabtlac"><a href="#" class="tabroz"></a><a href="#" class="tabburk"></a><a href="#" class="tabhil"></a><a href="#" class="tablest"></a></div>
<div id="pozadie">     

</div>
</div>
</div>


do oblasti <div id="pozadie"> text, obrázky a podobne bez toho, aby sa index.php načítavalo nanovo.

Ajax si pozriem keď bude čas ale z toho čo som zatiaľ pozrel hovorí táto veta zrejme presne o tom čo budem potrebovať: "AJAX is about updating parts of a web page, without reloading the whole page".

// pridané po 3 hodinách 58 minútach od posledného príspevku

Tak som naštudoval ajax ale potom som našiel dokonca funkciu .load pre jquery. http://api.jquery.com/load/ A s touto je to ešte jednoduchšie a po pár testoch to vyzerá tak, že to funguje presne tak ako som potreboval. Každopádne díky shaggy, veci sa pohli po tvojej rade.
Zobraziť informácie o autoroviOdoslať súkromnú správu
shaggy
Moderátor
Moderátor

Založený: 21.02.2006
Príspevky: 4627
Bydlisko: Bratislava

PríspevokZaslal: Ut 31.01.12 2:23Odpovedať s citátomNávrat hore

.load v jquery je ajax

_________________
Neradím a nekomunikujem cez SS, ak niečo potrebujete, máte iné možnosti: Ak vám zmizla téma, alebo sa vám niečo nepáči. Ak potrebujete nahlásiť príspevok/človeka, reportujte ho. Ak máte s niečim problém, riešte to v danej téme.
Zobraziť informácie o autoroviOdoslať súkromnú správuOdoslať e-mailZobraziť autorove WWW stránky
Zobraziť príspevky z predchádzajúcich:    
Zaslať odpoveď
Nemôžete pridávať nové témy do tohto fóra.
Nemôžete odpovedať na témy v tomto fóre.
Nemôžete upravovať svoje príspevky v tomto fóre.
Nemôžete mazať svoje príspevky v tomto fóre.
Nemôžete hlasovať v tomto fóre.

Powered by phpBB 2.x.x © 2005 - 2012 PCforum, webhosting by WebSupport, edited by JanoF

SEO - optimalizácia pre vyhľadávače

Freebsd