proszę o pomoc

HTML to podstawy w dziedzinie tworzenia stron WWW, Style CSS warto opanować, bowiem za ich pomocą można dostosować odpowiednio wygląd swojej witryny WWW. Zagłębiamy się dalej i udostępniamy w tym forum możliwość zadawania pytań o JavaScript.
madzik20
Posty: 19
Rejestracja: śr sie 29, 2007 7:53 pm

proszę o pomoc

Post autor: madzik20 »

Tworze strone www w CSS. Znalazłam skrypt do menu ale gdy uruchamiam tą strone service pack (chyba) go blokuje w windowsie i trzeba go odblokowac. Czy istnieje mozliwość aby przerobic ten skrypt tak aby sie nie blokował??
fan_pascala
Nowy
Nowy
Posty: 59
Rejestracja: czw lip 12, 2007 7:29 pm
Lokalizacja: Niepołomice
Kontakt:

Re: proszę o pomoc

Post autor: fan_pascala »

Wklej kod który masz i podaj skąd jest ten skrypt.
Mam jeszcze ochotę coś napisać, ale nie będę złośliwy...
madzik20
Posty: 19
Rejestracja: śr sie 29, 2007 7:53 pm

Re: proszę o pomoc

Post autor: madzik20 »

<SCRIPT LANGUAGE="JavaScript">


var taille = 910; // dlugosc menu
var taille2 = 30; // szerokosc menu

var couleur_fond = "#505050"; //kolor tla menu
var couleur_rollover = "#D0DED0"; //kolor tla podswietlonego
var couleur_texte = "#FFFFFF"; //kolor czcionki
var couleur_texte_over = "#000000"; //kolor podswietlenia czcionki

var taille_texte = 1; //Taille de la police
var police_texte = "Verdana"; //Type de police (Arial, Verdana...)

var target = true; // True si ouverture dans le męme document, false si ouverture d'une nouvelle fenetre
var frame = "f"; // Si frame, placer target ŕ true et indiquer le nom de votre frame. Sinon, laisser vide
var nbelem = 7; // Liczba elementów (kategorii)

var titre = new Array(nbelem); //ne pas modifier
var liens = new Array(nbelem); //ne pas modifier

titre[0] = "fghfhhf";
liens[0] = "bcvbcb.html";
titre[1] = "cvbcvbc";
liens[1] = "bnvn.html";
titre[2] = "vbcv";
liens[2] = "vcxbcb.html";
titre[3] = "vcbcv";
liens[3] = "bvcbcvbc.html";
titre[4] = "cvbcbc";
liens[4] = "cvbc.html";
titre[5] = "cvbcbc";
liens[5] = "ofirmie.html";
titre[6] = "vbcbcbc";
liens[6] = "xcvcxv.html";

<!----------------------------------Ne rien modifié sous cette ligne ---------------------------------------------->

function aff_menu(){
var taille_cellule = taille / nbelem;
cible = (!target)? "_blank":frame;

document.write("<table height=\""+taille2+"\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\" width=\""+taille+"\" bgcolor=\""+couleur_fond+"\" style=\"border-color:#000000; border-width: 1px; border-style: solid\"><tr>");

for(i=0;i<nbelem;i++){
document.write("<td align=\"center\" width=\""+taille_cellule+"\" onmouseover=\"mOvr(this,'"+couleur_rollover+"');\" onmouseout=\"mOut(this,'"+couleur_fond+"');\" bgcolor=\""+couleur_fond+"\"><a style=\"color: "+couleur_texte+"; text-decoration: none\" href=\""+liens+"\" target=\""+cible+"\"><font face=\""+police_texte+"\" size=\""+taille_texte+"\">"+titre+"</font></a></td>");
}

document.write("</tr></table>");
}

function mOvr(src,clrOver){
if (!src.contains(event.fromElement)) {
src.style.cursor = 'hand';
src.bgColor = clrOver;
src.children.tags('A')[0].style.color = couleur_texte_over;
}
}

function mOut(src,clrIn) {
if (!src.contains(event.toElement)) {
src.style.cursor = 'default';
src.bgColor = clrIn;
src.children.tags('A')[0].style.color = couleur_texte;
}
}

</script>

Nie pamietam skąd jest ten skrypt, z jakiejs strony.
PS. A co takiego źle zrobiłam, że miałbyś być złośliwy? Wiesz ja jestem zielona troche w tych sprawach, dlatego nie dziw się, że znowu moge z czymś wyskoczyć :/
Poza tym dzieki za odpowiedz. Jestes jedyna osobą która wogole sie odezwała. Byłam juz na wielu forach i nareszcie ktos sie znana rzeczy. Pozdrawiam
fan_pascala
Nowy
Nowy
Posty: 59
Rejestracja: czw lip 12, 2007 7:29 pm
Lokalizacja: Niepołomice
Kontakt:

Re: proszę o pomoc

Post autor: fan_pascala »

Na początek chciałbym Cię przeprosić za uszczypliwość, druga linijka w poprzednim poście faktycznie nie była potrzebna :oops: , kiedyś parę razy też mi pojechano i nie było mi przyjemnie.
Pisząc to miałem na myśli 2 stwierdzenia:
"Tworzę strone www w CSS",- w czystym CSS nie da się zbudować strony internetowej,
"ale gdy uruchamiam tą strone service pack (chyba) go blokuje w windowsie i trzeba go odblokowac"- SP raczej nie ma na to wpływu :wink:.

A wracajac do skryptu to był on poprawny tylko dla przegladąrek Microsoft'a (od Internet Explorer 5.0 w górę), jeśli testowałaś skrypt pod np. Firefoxem to faktycznie nie miało prawa się nic pojawić (menu).
Dlatego dodałem do skryptu obsługę przeglądarek z rodziny Mozilla (Firefox)

Problemem mogło też być odpowiednie osadzenie skryptu w HTML'u.
Jeśli menu ma być u samej góry to należy go wywołac funkcją aff_menu() od razu pod znacznikiem body:

Kod: Zaznacz cały

<body>
<script>aff_menu()</script>
</body>
Powyższy kod jest fragmentem tego poniżej.

Całość mogła by wyglądać następjąco.
aff_menu.html:

Kod: Zaznacz cały

<SCRIPT LANGUAGE="JavaScript">

var taille = 910; // dlugosc menu
var taille2 = 30; // szerokosc menu

var couleur_fond = "#505050"; //kolor tla menu
var couleur_rollover = "#D0DED0"; //kolor tla podswietlonego
var couleur_texte = "#FFFFFF"; //kolor czcionki
var couleur_texte_over = "#000000"; //kolor podswietlenia czcionki

var taille_texte = 1; //Taille de la police
var police_texte = "Verdana"; //Type de police (Arial, Verdana...)

var target = true; // True si ouverture dans le męme document, false si ouverture d'une nouvelle fenetre
var frame = "pole"; // Si frame, placer target ŕ true et indiquer le nom de votre frame. Sinon, laisser vide
var nbelem = 7; // Liczba elementów (kategorii)

var titre = new Array(nbelem); //ne pas modifier
var liens = new Array(nbelem); //ne pas modifier

titre[0] = "fghfhhf";
liens[0] = "bcvbcb.html";
titre[1] = "cvbcvbc";
liens[1] = "bnvn.html";
titre[2] = "vbcv";
liens[2] = "vcxbcb.html";
titre[3] = "vcbcv";
liens[3] = "bvcbcvbc.html";
titre[4] = "cvbcbc";
liens[4] = "cvbc.html";
titre[5] = "cvbcbc";
liens[5] = "ofirmie.html";
titre[6] = "vbcbcbc";
liens[6] = "xcvcxv.html";

<!----------------------------------Ne rien modifié sous cette ligne ---------------------------------------------->
var ns6=document.getElementById&&!document.all
var ie=document.all
function mOvr(src,clrOver){
if (ns6)
{
  src.style.cursor = 'pointer';
  src.bgColor = clrOver;
  src.childNodes[0].style.color = couleur_texte;
}
else if (ie)
{
  if (!src.contains(event.fromElement))
  {
    src.style.cursor = 'hand';
    src.bgColor = clrOver;
    src.children.tags('A')[0].style.color = couleur_texte_over;
  }   
}
}

function mOut(src,clrIn) {
if (ns6)
{
  src.style.cursor = 'default';
  src.bgColor = clrIn;
  src.childNodes[0].style.color = couleur_texte;
}
else if (ie)
{
  if (!src.contains(event.toElement))
  {
    src.style.cursor = 'default';
    src.bgColor = clrIn;
    src.children.tags('A')[0].style.color = couleur_texte;
  }   
}
}

function aff_menu(){
var taille_cellule = taille / nbelem;
cible = (!target)? "_blank":frame;
document.write("<table height=\""+taille2+"\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\" width=\""+taille+"\" bgcolor=\""+couleur_fond+"\" style=\"border-color:#000000; border-width: 1px; border-style: solid\"><tr>");

for(i=0;i<nbelem;i++){
document.write("<td align=\"center\" width=\""+taille_cellule+"\" onmouseover=\"mOvr(this,'"+couleur_rollover+"');\" onmouseout=\"mOut(this,'"+couleur_fond+"');\" bgcolor=\""+couleur_fond+"\"><a style=\"color: "+couleur_texte+"; text-decoration: none\" href=\""+liens[i]+"\" target=\""+cible+"\"><font face=\""+police_texte+"\" size=\""+taille_texte+"\">"+titre[i]+"</font></a></td>");
}

document.write("</tr></table>");
}

</script>

<body>
<script>aff_menu()</script>
</body>
PS. Czy to może francuski? :)

Mam nadzieję że to pomoże :)
Pozdrawiam.
Ostatnio zmieniony pn wrz 03, 2007 8:55 pm przez fan_pascala, łącznie zmieniany 2 razy.
madzik20
Posty: 19
Rejestracja: śr sie 29, 2007 7:53 pm

Re: proszę o pomoc

Post autor: madzik20 »

Hej, niestety znów wyskakuje mi ten komunikat: "Aby pomóc w zapewnieniu bezpieczeństwa, program Internet Ex... ograniczył temu plikowi mozliwość wyświetlania zawartości aktywnej, która mogłaby uzyskać dostęp do tego komputera. Kliknij... itd." Piszę to na wszeliki wypadek jak byś mnie źle zrozumiał wczesniej. Poza tym to menu pokazalo mi sie 3x po wstawieniu skryptu tego poprawionego, a jak usunelam
<script>aff_menu()</script>
to juz tylko 2. Ono ma sie nie znajdować na samej gorze tylko pod nagłówkiem.
Poza tym to o SP powiedzial mi kumpel który teraz bedzie na 3 roku informatyki, takze myslałam ze sie nie mylił. A co do twojej "drugiej linijki" to sie nie dziwie. Sama czasami załamuje rece na takie niedojdy jak ja :).
Pozdrawiam
fan_pascala
Nowy
Nowy
Posty: 59
Rejestracja: czw lip 12, 2007 7:29 pm
Lokalizacja: Niepołomice
Kontakt:

Re: proszę o pomoc

Post autor: fan_pascala »

Faktycznie po zainstalowaniu SP, IE domyślnie blokuje działanie skryptów JavaScript wywoływanych lokalnie (ze swojego komputera), zwracam honor.
Tym komunikatem jednak nie ma sensu się zadręczać. Skrypt po wysłaniu na serwer, będzie działał normalnie bez pojawiania się tej blokady . Jeśli pracujesz lokalnie z tym skryptem tj. zapisujesz go bezpośrednio na dysku, możesz chwilowo wyłaczyć "blokowanie treści aktywnej" korzystając z menu IE Narzędzia->Opcje internetowe, karta zaawansowane, rodział zabezieczenia poprzez zaznaczenie opcji "Zezwalaj zawartości aktywnej na działanie na plikach na moich komputerze".
Jeśli chodzi już o samo działanie skryptu w takiej formie jak wkleiłem poprzednio to powinno być ok. Robiłem testy na IE 6.0 , Firefoxie i Operze. Jeśli możesz wklej swój kod + skrypt. Jeśli menu ma być pod nagłówkiem to tam należy umieścić funkcje aff_menu()

Kod: Zaznacz cały

<!--nagłowek -->
<script>aff_menu()</script>
<!--reszta strony-->
madzik20
Posty: 19
Rejestracja: śr sie 29, 2007 7:53 pm

Re: proszę o pomoc

Post autor: madzik20 »

Hej. Jeśli ten komunikat nie bedzie wyskakiwał po umieszczeniu strony na serwerze to spoko. Natomiast mam jeszcze dwa pytania.
1. Jak naciskam na jakos pozycje z menu to mi sie ona otwiera w nowym oknie. Nie da się zrobic aby otwierała się w tym samym???
2. Czy istnieje mozliwosc wstawienia tam ramki pod to menu (chodzi mi o taką ramke jaką się dzieli strone robiąc ja w HTML), aby nie wczytywała się cała strona tylko to pole pod menu???
Pozdrawiam[/img]
fan_pascala
Nowy
Nowy
Posty: 59
Rejestracja: czw lip 12, 2007 7:29 pm
Lokalizacja: Niepołomice
Kontakt:

Re: proszę o pomoc

Post autor: fan_pascala »

Witam.

Może zacznę od tyłu:

2. Jasne, jednak wtedy musimy zrobić także ramkę dla menu, oraz dokument HTML definujący obie ramki ("menu", "pole").
index.html:

Kod: Zaznacz cały

<html>
<head>
<title>Tytuł strony</title>
</head>
  <frameset rows="50,*" frameborder="0">
    <frame src="aff_menu.html" name="menu" noresize >
    <frame src="welcome.html" name="pole">
  </frameset>
</html>
Nasz skrypt (generujący menu) zapisujemy w pliku aff_menu.html.
W drugiej ramce, na początku jest wczytywany np. welcome.html, lub jakikolwiek inny plik HTML jak choćby plik wskazywany przez pierwsza pozycję menu (<frame src="cos_na_powitanie.html" name="pole">).

1. Też się da. W skypcie modyfikujemy zmienną frame. Przypisujemy jej nazwę ramki w której mają się ładować pozycje menu. W naszym przypadku ramka "pole". Żeby nie robić bałaganu zmiany w skrypcie zawarłem w kodzie 3 posty wyżej.
madzik20
Posty: 19
Rejestracja: śr sie 29, 2007 7:53 pm

Re: proszę o pomoc

Post autor: madzik20 »

Wiesz, może ja Ci wkleje mój cały sktypt z index.html i ty mi powiesz w którym miejscu mam to wstawić bo sie już całkowicie zamotałam. Sorki że cie tak męcze, ale jestes jedyna osobą co się na tym zna. Oto on:
<HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript">


var taille = 910; // dlugosc menu
var taille2 = 30; // szerokosc menu

var couleur_fond = "#505050"; //kolor tla menu
var couleur_rollover = "#D0DED0"; //kolor tla podswietlonego
var couleur_texte = "#FFFFFF"; //kolor czcionki
var couleur_texte_over = "#000000"; //kolor podswietlenia czcionki

var taille_texte = 1; //Taille de la police
var police_texte = "Verdana"; //Type de police (Arial, Verdana...)

var target = true; // True si ouverture dans le męme document, false si ouverture d'une nouvelle fenetre
var frame = "f"; // Si frame, placer target ŕ true et indiquer le nom de votre frame. Sinon, laisser vide
var nbelem = 7; // Liczba elementów (kategorii)

var titre = new Array(nbelem); //ne pas modifier
var liens = new Array(nbelem); //ne pas modifier

titre[0] = "Strona Główna";
liens[0] = "St.html";
titre[1] = "N";
liens[1] = "n.html";
titre[2] = "P";
liens[2] = "p.html";
titre[3] = "Z";
liens[3] = "z.html";
titre[4] = "M";
liens[4] = "m.html";
titre[5] = "O firmie";
liens[5] = "ofirmie.html";
titre[6] = "Kontakt";
liens[6] = "kontakt.html";

<!----------------------------------Ne rien modifié sous cette ligne ---------------------------------------------->

function aff_menu(){
var taille_cellule = taille / nbelem;
cible = (!target)? "_blank":frame;

document.write("<table height=\""+taille2+"\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\" width=\""+taille+"\" bgcolor=\""+couleur_fond+"\" style=\"border-color:#000000; border-width: 1px; border-style: solid\"><tr>");

for(i=0;i<nbelem;i++){
document.write("<td align=\"center\" width=\""+taille_cellule+"\" onmouseover=\"mOvr(this,'"+couleur_rollover+"');\" onmouseout=\"mOut(this,'"+couleur_fond+"');\" bgcolor=\""+couleur_fond+"\"><a style=\"color: "+couleur_texte+"; text-decoration: none\" href=\""+liens+"\" target=\""+cible+"\"><font face=\""+police_texte+"\" size=\""+taille_texte+"\">"+titre+"</font></a></td>");
}

document.write("</tr></table>");
}

function mOvr(src,clrOver){
if (!src.contains(event.fromElement)) {
src.style.cursor = 'hand';
src.bgColor = clrOver;
src.children.tags('A')[0].style.color = couleur_texte_over;
}
}

function mOut(src,clrIn) {
if (!src.contains(event.toElement)) {
src.style.cursor = 'default';
src.bgColor = clrIn;
src.children.tags('A')[0].style.color = couleur_texte;
}
}

</script>



</HEAD>
<BODY>
<center>

<table ALIGN="CENTER" VALIGN="TOP" WIDTH="100%" HEIGHT="100%" CELLSPACING="0" CELLPADDING="0" BORDER="0">
<tr>
<td rowspan="3" background="boklewy.jpg" width="100" height="100%"></td> <td height="160"><center><b><font size="28"><img src="123.jpg"></font></b></center></td> <td rowspan="3" background="bokprawy.jpg" width="100" height="100%"></td>
</tr>

<tr>


<td><script>
aff_menu()
</script>
</td>

</tr>

<tr>
<td background="tlo.jpg" HEIGHT="100%">NIEBIESKIE <br /><br /><br /> Tomek <br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /></td>
</tr>
</table>



</center>
</BODY>
</HTML>



[/code]
fan_pascala
Nowy
Nowy
Posty: 59
Rejestracja: czw lip 12, 2007 7:29 pm
Lokalizacja: Niepołomice
Kontakt:

Re: proszę o pomoc

Post autor: fan_pascala »

Witam,

Myślałem że strona oparta jest na ramkach :) (a jest w formie tabelki).
Dlatego żeby już więcej nic Ci nie mieszać zrobiłem szablon Twojej strony.
Skrypt wrzuciłem do index.js. Po rozpakowaniu wrzuć do tego katalogu jeszcze swoje grafiki.
Szablon: http://www.linki.cal.pl/madzik20.zip

Pozdrawiam
madzik20
Posty: 19
Rejestracja: śr sie 29, 2007 7:53 pm

Re: proszę o pomoc

Post autor: madzik20 »

Dzieki Ci bardzo, nie wiem jak bym sobie bez ciebie poradziła. Ale mam jeszcze pytanko. Gdzie mam zmienić nazwy menu?? Bo N P Z M nie działa, a z reszta pewnie sam sie domyslasz że to nie są te właściwe nazwy...
Pozdrawiam i jeszcze raz wielkie dzięki !!!
fan_pascala
Nowy
Nowy
Posty: 59
Rejestracja: czw lip 12, 2007 7:29 pm
Lokalizacja: Niepołomice
Kontakt:

Re: proszę o pomoc

Post autor: fan_pascala »

Kod: Zaznacz cały

titre[0] = "Strona Główna"; 
liens[0] = "index.html";
titre[1] = "N";
liens[1] = "n.html";
titre[2] = "P";
liens[2] = "p.html";
titre[3] = "Z";
liens[3] = "z.html";
titre[4] = "M";
liens[4] = "m.html";
titre[5] = "O firmie";
liens[5] = "ofirmie.html";
titre[6] = "Kontakt";
liens[6] = "kontakt.html"; 
titre - nazwa linku, liens - adres strony
A ten fragment jest na początku index.js
madzik20
Posty: 19
Rejestracja: śr sie 29, 2007 7:53 pm

Re: proszę o pomoc

Post autor: madzik20 »

Szybki jestes :) Ale jest jeszcze jeden problem. Jak naciskam na jakis napis menu to on mi sie nie wczytuje. Dopiero jak trafię na taki co mi sie wczyta to po nim jak nacisne tamten poprzedni to mi zadziala. Nie wiesz może co to moze być?? U Ciebie tez tak jest??
fan_pascala
Nowy
Nowy
Posty: 59
Rejestracja: czw lip 12, 2007 7:29 pm
Lokalizacja: Niepołomice
Kontakt:

Re: proszę o pomoc

Post autor: fan_pascala »

Hm, no niewiem, nie zauważyłem tego problemu. Chociaż przy krótkich tekstach, łatwo kliknąć obok napisu, a sam prostokącik go otaczający choć się podświetla sam już nie jest linkiem.
madzik20
Posty: 19
Rejestracja: śr sie 29, 2007 7:53 pm

Re: proszę o pomoc

Post autor: madzik20 »

Hej. Rzeczywiście, trzeba kliknąć na napis, a ja myslałam, że wogóle na okienko. W związku z tym mam pytanie: czy nie da sie powiększyć tej czcionki??? I jeszcze jedno. Nad tym menu (czyli pod nagłówkiem) jest ok 5mm biały pasek. Na początki myślałam, że jak powiększę nagłówek to on zniknie, ale tak sie nie stało. Pasek nadal sie przesówa. Nie wiesz może jak temu zaradzić. Wcześniej, jak miałam ten stary skrypt to go nie było.
Pozdrawiam.
ODPOWIEDZ