Autor Zpráva
Lucie M.
Profil *
Ahoj, poradil by mi prosím někdo, jak načíst pomocí jquery obsah souboru? Zkoušela jsem
$('.obsah').load('ovoce.html');
<div class="obsah"></div>
ale pokud načtu pomocí tlačítka jiný soubor, vidím stále ten první obsah souboru, potřebovala bych vždy zobrazit jen ten jeden obsah. Poradí někdo kdo to zná? L.
quatzael
Profil
Lucie M.:
Jakože se Ti načte nový a ten starý nezmizí??

Přece musíš nejdřív smazat ten původní. Vyprázdnit div.


metodou empty()
Lucie M.
Profil *
Ne, chodí to jen když dám pokaždém kliknutí na odkaz F5, jinak se jiná stránka nenačte :(
Script jsem našla zde na fóru ale asi nefunguje :(
<a href="#1">1</a>
<a href="#2">2</a>
<a href="#4">3</a>

<script type="text/javascript">
     $(document).ready(function() {
          var gethash = location.hash;
          var newhash = gethash.replace("#", "");
          $('.obsah').empty();
          if(newhash != ''){
               $('.obsah').load('obsah/'+newhash+'.html');
          }
          else
          {
               $('.obsah').load('obsah/1.html');
          };
     });
</script>

<div class="obsah"></div>
quatzael
Profil
Lucie M.:
Vždyť Ti tam chybí onclick() event přece!
Lucie M.
Profil *
Jejda kde, jak? Děkuji
quatzael
Profil
$("#button").click(function(){
  var gethash = location.hash;
          var newhash = gethash.replace("#", "");
          $('.obsah').empty();
          if(newhash != ''){
               $('.obsah').load('obsah/'+newhash+'.html');
          }
          else
          {
               $('.obsah').load('obsah/1.html');
          };

 }); 



respektive celý takhle nějak:

<a class="button" href="#1">1</a>
<a class="button" href="#2">2</a>
<a class="button" href="#4">3</a>
 
<script type="text/javascript">
     $(document).ready(function() {
          var gethash = location.hash;
          var newhash = gethash.replace("#", "");
          $('.obsah').empty();
          if(newhash != ''){
               $('.obsah').load('obsah/'+newhash+'.html');
          }
          else
          {
               $('.obsah').load('obsah/1.html');
          };

        $(".button").click(function(){
          var gethash = location.hash;
          var newhash = gethash.replace("#", "");
          $('.obsah').empty();
          if(newhash != ''){
               $('.obsah').load('obsah/'+newhash+'.html');
          }
          else
          {
               $('.obsah').load('obsah/1.html');
          };
 
 }); 
    
      
          
     });
</script>
 
<div class="obsah"></div>
Lucie M.
Profil *
Nic se nenačte :-(
quatzael
Profil
Lucie M.:
Mělo by to takhle fungovat.. Maximálně, že by tam zůstával ten starej hash. To by se dalo když tak ještě vyřešit pomocí data-type
Lucie M.
Profil *
Už to načítá, ale musím 2x kliknout :(
quatzael
Profil
Zkus otestovat, jestli se po kliknutí na to tlačítko opravdu spustí ta funkce load..
Zkus dát za ten řádek 23 ještě například nějakej window.alert();

třeba takhle:

 if(newhash != ''){
 $('.obsah').load('obsah/'+newhash+'.html');
 window.alert(newhash);
          }



Může to být o krok pozadu, že ten javascript načte hash ještě než se stačí změnit..
Lucie M.
Profil *
window.alert(newhash); zobrazi hash vzdy předposlední :-( Jak to opravím...
quatzael
Profil
<a class="button" data-hash="1" href="#1">1</a>
<a class="button" data-hash="2" href="#2">2</a>
<a class="button" data-hash="3" href="#4">3</a>
 
<script type="text/javascript">
     $(document).ready(function() {
          var gethash = location.hash;
          var newhash = gethash.replace("#", "");
          $('.obsah').empty();
          if(newhash != ''){
               $('.obsah').load('obsah/'+newhash+'.html');
          }
          else
          {
               $('.obsah').load('obsah/1.html');
          };
 
        $(".button").click(function(){
          var gethash = $(".button").attr("data-hash");
          $('.obsah').empty();
          $('.obsah').load('obsah/'+gethash+'.html'); 

           });  
});
</script>
 
<div class="obsah"></div>



Teď by to mělo takhle určitě fungovat.
Lucie M.
Profil *
Tak teď už se vůbec obsah nezmění :(
quatzael
Profil
tak je někde chyba v javascriptu..
Lucie M.
Profil *
Unhandled Error: Undefined variable: data-hash...
quatzael
Profil

Lucie M.:
tam Ti asi chybí uvozovky ne??


Lucie M.:

Myslím u toho data-hash..
Unhandled Error: Undefined variable: data-hash...


Sorry, už vím!!

řádek 19:

var gethash = $(this).attr("data-hash");
Lucie M.
Profil *
jj, teď to funguje, ale je problém s tím <a class="button" data-hash="xy" href="#xy">1</a>. Tohle vkádám do stránek s JS a odkazy jsou dělány přes funkci, cili nedokážu tam dostat navíc data-hash :-( nejde to jinak?
quatzael
Profil
Lucie M.:
odkazy jsou dělány přes funkci, cili nedokážu tam dostat navíc data-hash
Nerozumím co tím myslíš.. Jako přes funkci v PHP?? Tam to pochopitelně musíš taky upravit..
Lucie M.
Profil *
kdyby to bylo přes php tak je to fajn, ale přes jquery funkce, a ten kod má cca 1000 řádků :-(


jedna se o tento modul http://destroydrop.com/javascripts/tree/
quatzael
Profil
Fakt nevím, jak to myslíš.. HTML kód?? Je snad jedno kolik má řádku..
Zkus se vyjádřit opravdu srozumitelněji. Já takhle opravdu nevím v čem je problém.. Je problém, že musíš ručně přepsat 1000 řádků nebo co?
Lucie M.
Profil *
Nn, problém je v tom, že ty odkazy jsou přes nějakou funkci v jquery něco jako

d.add(1, 0, 'Odkaz');

a pokud do toho odkazu přidám něco jiného, tak to hodí chybu, jelikož je tam něco co tam nepatří :-(
quatzael
Profil
Lucie M.:
Přes jakou funkci?? Ty stránky jsi netvořila Ty, že to nevíš?


Tak tam nedávej ten data-hash a udělej to zase jako původně..


<a class="button" href="#1">1</a>
<a class="button" href="#2">2</a>
<a class="button" href="#4">3</a>
 
<script type="text/javascript">
     $(document).ready(function() {
          var gethash = location.hash;
          var newhash = gethash.replace("#", "");
          $('.obsah').empty();
          if(newhash != ''){
               $('.obsah').load('obsah/'+newhash+'.html');
          }
          else
          {
               $('.obsah').load('obsah/1.html');
          };
 
        $(".button").click(function(){
          var gethash = $(".button").attr("href");
          var newhash = gethash.replace("#", "");         
          $('.obsah').empty();
          $('.obsah').load('obsah/'+newhash+'.html'); 
 
           });  
});
</script>
 
<div class="obsah"></div>



Pokud to teda jede s tou třídou .button..

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: