|
SWiSH Forum Forum użytkowników programów SWiSH |
|
Webdesign, HTML, technologie - Przeładowywanie swf'a
galechus - Czw 05 Lip, 2007 23:21 Temat postu: Przeładowywanie swf'a Witam,
czy możecie mi pomóc..., sytuacja wygląda tak:
mam stronkę zrobioną na DIV'ach, w DIV'ie top mam swf'a, w lewym mam menu, a na środku treść. Gdy po kliknięciu menu po lewej chciałbym aby się top nie przeładowywał, strona działa na "ilnclude" (php)i ładuję do DIV'a treść.
Macie jakiś pomysł?
Pozdrawiam i proszę o pomoc.
mielu - Pią 06 Lip, 2007 08:00
jeśli masz jakąś animacje, która ma wykonać sie tylko raz to są 3 sposoby:
1 - ramki (nie polecam)
2 - zrób index.php i wtedy wywołaj animacje tą która masie wykonać raz a linkuj do bliźniaczej strony np: index2.php i tam wstaw drugiego swf'a (obciętego z animacji początkowej)
3 - jeśli to mała stronka ukrywasz div'y i za pomocą js odkrywasz warstwy.
nugatt - Pią 06 Lip, 2007 09:17
galechus napisał/a: | Witam,
czy możecie mi pomóc..., sytuacja wygląda tak:
mam stronkę zrobioną na DIV'ach, w DIV'ie top mam swf'a, w lewym mam menu, a na środku treść. Gdy po kliknięciu menu po lewej chciałbym aby się top nie przeładowywał, strona działa na "ilnclude" (php)i ładuję do DIV'a treść.
Macie jakiś pomysł?
Pozdrawiam i proszę o pomoc. |
Cytat: | jeśli masz jakąś animacje, która ma wykonać sie tylko raz to są 3 sposoby:
1 - ramki (nie polecam)
2 - zrób index.php i wtedy wywołaj animacje tą która masie wykonać raz a linkuj do bliźniaczej strony np: index2.php i tam wstaw drugiego swf'a (obciętego z animacji początkowej)
3 - jeśli to mała stronka ukrywasz div'y i za pomocą js odkrywasz warstwy. |
jeśli używasz php i "includujesz" treść to jaki problem załadować innego swf.
to co ma sie ładować przekazujesz za pomocą jakiegoś parametru,więc albo przekaż jeszcze jeden tyczący się swf w 'topie', albo wykorzystaj istniejący i daj warunek "if".
a i dział nieodpowiedni. jak temat ma sie do a
galechus - Pią 06 Lip, 2007 10:14
w sumie nijak ma się temat do swishMax'a, przepraszam...
a co tego co piszecie to czy możecie mi to przedstawić na przykładzie lub podać gdzie mogę o tym poczytać?
nugatt - Pią 06 Lip, 2007 12:22
powiedz mi jak wklejasz swf i daj link z menu
[ Dodano: Pią 06 Lip, 2007 14:35 ]
i polecam jakiś kurs php bo widzę że czekasz na gotowca
galechus - Pią 06 Lip, 2007 13:56
http://www.smtvsat.pl/galechus/betpol/
tak strona wygląda, a na gotowca nie czekam i php znam tylko na czasie mi zależy i potrzebuję to jak najszybciej załatwić...
nugatt - Pią 06 Lip, 2007 14:27
Kod: | <div id="hdr" align="center"><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,22,0" id="top" width="785" height="320">
<param name="movie" value="images/top.swf" />
<param name="bgcolor" value="#FFFFFF" />
<param name="quality" value="high" />
<param name="allowscriptaccess" value="samedomain" />
<embed type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" name="top" width="785" height="320" src="images/top.swf" bgcolor="#FFFFFF" quality="high" swliveconnect="true" allowscriptaccess="samedomain">
<noembed> </noembed>
</embed>
</object></div> |
to co sie ma ładować odczytujesz po 'id' czy tam jak to sobie przechwytujesz ze ścieżki
smtvsat.pl/galechus/betpol/index.php?id=gdzie
i tak na przyklad na stronie głównej masz inny swf niż na innych. zmienna $co wkładasz tam gdzie sie wkleja swf. taki przykład, da sie to pewniej zrobić lepiej
Kod: | <?php
if (!isset($id)) {
$co="top.swf";
} else {
$co="innytop.swf";
}
echo "<div id=\"hdr\" align=\"center\"><object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,22,0\" id=\"top\" width=\"785\" height=\"320\">
<param name=\"movie\" value=\"images/$co\" />
<param name=\"bgcolor\" value=\"#FFFFFF\" />
<param name=\"quality\" value=\"high\" />
<param name=\"allowscriptaccess\" value=\"samedomain\" />
<embed type=\"application/x-shockwave-flash\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\" name=\"top\" width=\"785\" height=\"320\" src=\"images/$co\" bgcolor=\"#FFFFFF\" quality=\"high\" swliveconnect=\"true\" allowscriptaccess=\"samedomain\">
<noembed> </noembed>
</embed>
</object></div>";
?> |
ale co ty chcesz zmieniać z topem.
btw. nawet ładnie
przekazuj parametrem do swf czy ktoś wyłączył muzykę czy nie.
galechus - Pią 06 Lip, 2007 14:31
nugatt, chyba się nie rozumiemy... Jak masz top to on zawsze ma być ten sam, tylko to co pod nim ma się zmieniać a on nie ma się przeładowywać... rozumiesz o co teraz mi chodzi?
nugatt - Pią 06 Lip, 2007 15:02
a nie działa ci include?
klikam na kontakt i jest co innego? więc o co chodzi?
Kod: | <?
include("$lang/$content.php");
?> | ja mam tak i ładuje mi środki z innych plików, można by to z bazy 'łykać'
galechus - Pią 06 Lip, 2007 15:09
no mam include, a wygląda tak:
Kod: | <?php
if(empty($_GET['id']) or $_GET['id']=="opisfirmy"){
include("dane/opisfirmy.html");
}
if($_GET['id']=="gdzie"){
include("dane/gdzie.html");
}
if($_GET['id']=="zrealizowane"){
include("dane/zrealizowane.html");
}
if($_GET['id']=="kontakt"){
include("dane/kontakt.php");
}
if($_GET['id']=="lokalizacja"){
include("dane/lokalizacja.html");
}
if($_GET['id']=="opis"){
include("dane/opis.html");
}
if($_GET['id']=="wykonczenie"){
include("dane/wykonczenie.html");
}
if($_GET['id']=="galeria"){
include("dane/galeria.html");
}
if($_GET['id']=="mieszkania"){
include("dane/mieszkania.html");
}
if($_GET['id']=="sitemap"){
include("dane/sitemap.html");
}
?> |
może się już tak nie robi, nie wiem bo staram się nie używać php.
Widzę, że u Ciebie na stronie http://www.assb.free.ngo.pl/ chodzi tak jakbym chciał, może pokazać logikę tego kodu?
nugatt - Pią 06 Lip, 2007 15:20
napisałem we wcześniejszym poście jak to jest zrobione
nie prościej
Kod: | <?php
$id = $_GET['id'];
if(empty($id)) {
include("dane/opisfirmy.html");
}
else {
include("dane/$id.html");
}
?> |
galechus - Pią 06 Lip, 2007 16:30
dzięki za uproszczenie skryptu
ale wejdź jeszcze raz na http://program.top100.org.pl/betpol/ (zmieniłem na innym serwerze) jak widzisz po kliknięciu na link z prawej strony (obojętnie jaki) mam przeładowanie całej strony, a chcę aby tylko treść mi się przeładowała a top (swf) i menu (linki po prawej) zostało nie przeładowane, dopiero jak kliknę coś na topie to następuję całkowite przeładowanie strony.
mielu - Pią 06 Lip, 2007 17:28
choroba jasna zawsze Ci sie przeładuje strona, chyba ze zrobisz przeładowanie na div lub ramkach !!!!!!!!!!!!!!!!!!!!!!!! To że podajesz adres do tej samej strony nie oznacza, że Ci się ma nie przeładować.
galechus - Pią 06 Lip, 2007 18:16
a jak zrobić przeładowanie na DIV?
mielu - Pią 06 Lip, 2007 19:04
wiesz jak sie ukrywa warstwy
Robisz wszystko na jednej stronie i ukrywasz niepotrzebne warstwy za pomocą css
a odkrywasz za pomocą js
nugatt - Sob 07 Lip, 2007 01:15
galechus napisał/a: | jak widzisz po kliknięciu na link z prawej strony (obojętnie jaki) mam przeładowanie całej strony | oj więc tak jak mówi mielu js albo iframe. na tym pierwszym się nie znam a to drugie każdy umie
mielu - Sob 07 Lip, 2007 09:54
Kod: |
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=windows-1250">
<STYLE TYPE="text/css">
<!--
#warstwa1 {position:absolute; left:50; top:120; width:100; height:100; background-color:yellow}
#warstwa2 {position:absolute; left:110; top:140; width:100; height:100; background-color:blue}
#warstwa3 {position:absolute; left:70; top:180; width:100; height:100; background-color:red}
-->
</STYLE>
<SCRIPT LANGUAGE="JavaScript">
a=5;
function klikniecie(nacisniecie,nazwa)
{ a=a+1; nn4 = (document.layers) ? true:false;
ie4 = (document.all) ? true:false;
if (nacisniecie) {
if (ie4) { document.all[nazwa].style.zIndex=a }
if (nn4) { document.layers['przyklad'].document.layers[nazwa].zIndex=a } }
</SCRIPT>
</HEAD>
<BODY BGCOLOR="#6FB20F">
Wybierz, która warstwa ma się ukazać na wierzchu:<BR>
<FORM NAME="wybierz">
<INPUT TYPE="Radio" onClick="klikniecie(this.checked,'warstwa1');" NAME="n">Żółta<BR>
<INPUT TYPE="Radio" onClick="klikniecie(this.checked,'warstwa2');" NAME="n">Niebieska<BR>
<INPUT TYPE="Radio" onClick="klikniecie(this.checked,'warstwa3');" NAME="n" CHECKED>Czerwona
</FORM>
<DIV ID="warstwa1">żółta</DIV>
<DIV ID="warstwa2">niebieska</DIV>
<DIV ID="warstwa3">czerwona</DIV>
</BODY>
</HTML>
|
przykład ukrywania warstw
nugatt - Sob 07 Lip, 2007 20:13
mielu napisał/a: | przykład ukrywania warstw | klikałem wszędzie i nic nie działa
mielu - Sob 07 Lip, 2007 20:45
no to jest przesuwanie warstw ma wierzch
sokri ale jeden nawias sie zdubił
Kod: | <HTML>
<HEAD>
<META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=windows-1250">
<STYLE TYPE="text/css">
<!--
#warstwa1 {position:absolute; left:50; top:120; width:300; height:300; background-color:yellow}
#warstwa2 {position:absolute; left:50; top:120; width:300; height:300; background-color:blue}
#warstwa3 {position:absolute; left:50; top:120; width:300; height:300; background-color:red}
-->
</STYLE>
<SCRIPT LANGUAGE="JavaScript">
a=5;
function klikniecie(nacisniecie,nazwa)
{ a=a+1; nn4 = (document.layers) ? true:false;
ie4 = (document.all) ? true:false;
if (nacisniecie) {
if (ie4) { document.all[nazwa].style.zIndex=a }
if (nn4) { document.layers['przyklad'].document.layers[nazwa].zIndex=a } } }
</SCRIPT>
</HEAD>
<BODY BGCOLOR="#6FB20F">
Wybierz, która warstwa ma się ukazać na wierzchu:<BR>
<FORM NAME="wybierz">
<INPUT TYPE="Radio" onClick="klikniecie(this.checked,'warstwa1');" NAME="n">Żółta<BR>
<INPUT TYPE="Radio" onClick="klikniecie(this.checked,'warstwa2');" NAME="n">Niebieska<BR>
<INPUT TYPE="Radio" onClick="klikniecie(this.checked,'warstwa3');" NAME="n" CHECKED>Czerwona
</FORM>
<DIV ID="warstwa1">żółta</DIV>
<DIV ID="warstwa2">niebieska</DIV>
<DIV ID="warstwa3">czerwona</DIV>
</BODY>
</HTML> |
nugatt - Sob 07 Lip, 2007 22:15
www.czujny.webd.pl/test/ nie wiem jak to co podajesz ma działać
mielu - Sob 07 Lip, 2007 23:07
działa ale tylko pod IE i operą faktycznie pod ff nie
buber - Nie 08 Lip, 2007 08:52
jeżeli idzie o ten skrypt to można użyć document.getElementById zamiast all czy layers ewentualnie użyć wszystkich;] bo nie wiem jak stare przeglądarki to łykają.
tak więc
Kod: |
<SCRIPT LANGUAGE="JavaScript">
a=5;
function klikniecie(nacisniecie,nazwa)
{ a=a+1;
if (nacisniecie) {
document.getElementById(nazwa).style.zIndex=a } }
</SCRIPT>
|
w ogóle zamiast tego zIndexu i zmiennej a możnaby wykorzystać style.display="" lub style disyplay="none" ale mniejsza z tym.
co do twojego problemu galechus poszukaj sobie tutoriali na temat stron wykonanych za pomocą AJAXa, chyba tego właśnie potrzebujesz.
narty
galechus - Pią 17 Sie, 2007 08:35
witam,
rozwiązałem swój problem AJAX'em.
A o to skrypt dzięki któremu jest możliwe nie przeładowywanie .swf'a
Efekt wygląda tak www.betpol.info
Pod buttona O NAS umieszczamy:
Kod: | on (press) {
javascript("strona('onas')");
} |
Pod buttona NASZA OFERTA umieszczamy:
Kod: | on (press) {
javascript("strona('oferta')");
} |
... i tak dalej
A plik do zmiany treści wygląda tak:
Kod: | function strona(plik) {
if (plik!='onas' && plik!='oferta' && plik!='kontakt' && plik!='sitemap') return false;
var xml = null;
var wynik = document.getElementById("tresc");
wynik.innerHTML = "Trwa ładowanie strony";
if (window.XMLHttpRequest) xml = new XMLHttpRequest();
else if (window.ActiveXObject) xml = new ActiveXObject("Microsoft.XMLHTTP");
if (xml) {
xml.onreadystatechange = function() {
if (xml.readyState==4) {
wynik.innerHTML = xml.responseText;
}
}
xml.open("GET", plik+".php", true);
xml.send(null);
}
return false;
}
strona('onas'); |
nugatt - Pią 17 Sie, 2007 11:38
brawo za:
http://validator.w3.org/c....betpol.info%2F
http://jigsaw.w3.org/css-....betpol.info%2F
galechus - Pią 17 Sie, 2007 12:43
dzięki
|
|