osobně jQuery UI volám jako událost, tzn nedávám tý knihovně možnost stylovat prvky přímo na stránce. Pokud to necháš na ní, tak snad potom není problém výsledek doupravit, ať už později vloženým javascriptem nebo souborem css. jinak pomocí css3 je možné identifikovat prvky i podle pořadí, to samé lze i v js. HMTL5 dokonce podporuje tzv data-* parrameter http://ejohn.org/blog/html-5-data-attributes/ čili ten lze také použít pro jednoznačný výběr.
Příspěvky odeslané z IP adresy 213.226.205.–
Pro nelze použít toto?
index.php
$titulek = "Titulek stránky";
$blabla = "bla bla stránky";
include ("hlavicka.php");
echo 'obsah';
include ("footer.php");
hlavicka.php
echo "<html>".
" <head>".
" <title>".$titulek."</title>".
" <meta blabla=\"".$blabla."\"/>".
" </head>".
" <body>";
... rad si hraji a zkousim co jaky jazyk vlastne umi kam az dokaze zajit...
Jazyk HTML je dán přesně danou specifikací, tzn. je striktně dáno řečeno jak by měl dokument z hlediska zdrojového kódu vypadat.
Jaký je problém v tom použít, následující kód?
#uvodka label {
color: red;
}
Pokud chceš používat vlastní tagy, pak lze využít jazyk XML, jehož návrh je tak univerzální, že se stále drží své první verze návrhu. Ovšem pokud, děláš webové stránky, můžeš narazit na stejný problém ze strany podpory prohlížečů. A vzhledem k tomu jakým způsobem pokládáš otázky (i když jsi vlastně žádnou nepoložil), tak věřím, že narazíš na mnohem složitější nesouvislosti.
Pokud místo značek HTML používáš vlastní alternativy, pak doporučuji si prostudovat pojmy jako internet, web, webový prohlížeč, elektronický dokument a určitě neuškodí zabruslit i do pojmů jako je koncept a norma. Teprve poté zjistíš "všechny" možnosti HTML a budeš moci "vědět co od něj očekávat".
je to bíle má to pruhy.. z... zeb... Zeby to byl vir?
Co si ze svejch mladejch let pamatuju, tak v hodně starejch IEčkách fungovala rotace jen na obrázky... tj. ne na divy.
Proč by ne...
Odpovědi? Já jen nevidím otázku...
Oprava:
$(document).ready(function()
{
...
}
);
Vlož ten kód (bez funkcí) mezi
$(document).ready.(function()
{
...
}
);
a něco si o tom naštuduj, budeš to používat furt ;)
A řekl bych, že v tom že tu někdo nezachovává strukturu html dokumentu a ani se neráčí požít doctype ;)
Mě to funguje, takže problém bude jinde ;)
No pokud to zafixuješ, tak to bude zafixovaný :-) Pokud by jsi to chtěl jen v jednom směru, pak jedině přes JS (nevim jak v CSS3 kvůli tomu, že dělám dělám weby, tak aby fungovali všude ho ani moc nepoužívám).
Další možnost je to udělat bez fixní pozice, tím, že menu dáš (ideálně) hned za body a vedle něj vyvoříš novej div s s absolutní pozicí, kterej roztáhneš přes celý tělo a nastavíš mu overflow: auto čili se bude scrollovat jen on.
Mě to funguje. Říkal jsi, že jsi tam udělal nějaký změny tak jestli chceš pomoct, tak pošli, co máš teď . Jestli je tohle jenom nějaká část, tak by bylo fajn poslat i pár věcí okolo, jestli se to s něčím nekryje.
Chrome->Nastavení->Zobrazit rozšířená nastavení...->Ochrana soukromí->Nastavení obsahu->Javascript
...
var newurl = url.replace("nahledy/nahled-", "");
opener.document.getElementById('editor1').value = newurl;
...
Jasně, nečtu to po sobě, ale princip je jasnej
Programujeme v angličtině, čili document a ne dokument.
No, ale tak určitě při uploadu ta knihovna musí ten soubor načíst do dočasnýho adresáře, z toho bych vyšel a pak už to zpracoval tou php funkcí viz výše. Jinak jak jsem psal tu knihovnu neznám, ale snad když nezadáš cestu ani do konkrétního adresáře, tak by to mělo zůstat v tom dočasným ne? Stále nechápu, proč bys neměl mít přístup k $_FILES. Pokud to ta knihovna, dělá tak, že ti tuhle proměnou vymaže/vyprázdní, no tak bych se tím vůbec nezabejval a napsal si něco vlastního.
Případně je možnost ten soubor nahrát tou knihovnou a poté ho přejmenovat...
Přístup k $_FILES mít musíš, pochybuju, že by to ten objekt řešil nějak jinak. Přenesení souboru z dočasnýho adresáře v php není žádná věda, zvládne to jediná funkce move_uploaded_file(). Jinak by nebylo na škodu si k tý knihovně přečíst dokumentaci, kde o uvedení názvu výsledného soboru není žádná zmínka. No na to, že za použití chtěj 99$ tak teda nic, moc...
function PrenesObr(id){
var kde=document.getElementById(id);
var co=kde.getElementsByTagName('img');
//url = co.replace("nahledy/nahled-", "");
for(var i=0;i<co.length-1;i++){
co[i].onclick=function(){
//opener.document.forms[0].elements[1].value=this.src;
//opener.document.getElementById('editor1').value=this.src;
var url = this.src;
url.replace("nahledy/nahled-", "")
opener.document.getElementById('editor1').value = url;
}
}
}
Takto?
No, tak z funkce uvnitř třídy se stane metoda a tu potom s zavoláš a její návratovou hodnotu použiješ při ukládání(při uploadu kopírování souboru).
Ještě bych upravil ten konec:
...
$array_to = array_values($foreign_characters);
$not_asc = preg_replace($array_from, $array_to, $str);
return preg_replace('#[^a-z0-9-]#', '_', $not_asc);
}
S tím, že budeš kontrolovat pouze část před příponou a zvlášt samotnou příponu souboru, např jestli to co uživatel nahrál je obrázek a ne exe.
funkce z texthelperu Codeigniteru viz https://github.com/EllisLab/CodeIgniter
function convert_accented_characters($str)
{
$foreign_characters = array(
'/ä|æ|ǽ/' => 'ae',
'/ö|œ/' => 'oe',
'/ü/' => 'ue',
'/Ä/' => 'Ae',
'/Ü/' => 'Ue',
'/Ö/' => 'Oe',
'/À|Á|Â|Ã|Ä|Å|Ǻ|Ā|Ă|Ą|Ǎ|Α|Ά|Ả|Ạ|Ầ|Ẫ|Ẩ|Ậ|Ằ|Ắ|Ẵ|Ẳ|Ặ|А/' => 'A',
'/à|á|â|ã|å|ǻ|ā|ă|ą|ǎ|ª|α|ά|ả|ạ|ầ|ấ|ẫ|ẩ|ậ|ằ|ắ|ẵ|ẳ|ặ|а/' => 'a',
'/Б/' => 'B',
'/б/' => 'b',
'/Ç|Ć|Ĉ|Ċ|Č/' => 'C',
'/ç|ć|ĉ|ċ|č/' => 'c',
'/Д/' => 'D',
'/д/' => 'd',
'/Ð|Ď|Đ|Δ/' => 'Dj',
'/ð|ď|đ|δ/' => 'dj',
'/È|É|Ê|Ë|Ē|Ĕ|Ė|Ę|Ě|Ε|Έ|Ẽ|Ẻ|Ẹ|Ề|Ế|Ễ|Ể|Ệ|Е|Ё|Э/' => 'E',
'/è|é|ê|ë|ē|ĕ|ė|ę|ě|έ|ε|ẽ|ẻ|ẹ|ề|ế|ễ|ể|ệ|е|ё|э/' => 'e',
'/Ф/' => 'F',
'/ф/' => 'f',
'/Ĝ|Ğ|Ġ|Ģ|Γ|Г/' => 'G',
'/ĝ|ğ|ġ|ģ|γ|г/' => 'g',
'/Ĥ|Ħ/' => 'H',
'/ĥ|ħ/' => 'h',
'/Ì|Í|Î|Ï|Ĩ|Ī|Ĭ|Ǐ|Į|İ|Η|Ή|Ί|Ι|Ϊ|Ỉ|Ị|И|Й/' => 'I',
'/ì|í|î|ï|ĩ|ī|ĭ|ǐ|į|ı|η|ή|ί|ι|ϊ|ỉ|ị|и|й/' => 'i',
'/Ĵ/' => 'J',
'/ĵ/' => 'j',
'/Ķ|Κ|К/' => 'K',
'/ķ|κ|к/' => 'k',
'/Ĺ|Ļ|Ľ|Ŀ|Ł|Λ|Л/' => 'L',
'/ĺ|ļ|ľ|ŀ|ł|λ|л/' => 'l',
'/М/' => 'M',
'/м/' => 'm',
'/Ñ|Ń|Ņ|Ň|Ν|Н/' => 'N',
'/ñ|ń|ņ|ň|ʼn|ν|н/' => 'n',
'/Ò|Ó|Ô|Õ|Ō|Ŏ|Ǒ|Ő|Ơ|Ø|Ǿ|Ο|Ό|Ω|Ώ|Ỏ|Ọ|Ồ|Ố|Ỗ|Ổ|Ộ|Ờ|Ớ|Ỡ|Ở|Ợ|О/' => 'O',
'/ò|ó|ô|õ|ō|ŏ|ǒ|ő|ơ|ø|ǿ|º|ο|ό|ω|ώ|ỏ|ọ|ồ|ố|ỗ|ổ|ộ|ờ|ớ|ỡ|ở|ợ|о/' => 'o',
'/П/' => 'P',
'/п/' => 'p',
'/Ŕ|Ŗ|Ř|Ρ|Р/' => 'R',
'/ŕ|ŗ|ř|ρ|р/' => 'r',
'/Ś|Ŝ|Ş|Ș|Š|Σ|С/' => 'S',
'/ś|ŝ|ş|ș|š|ſ|σ|ς|с/' => 's',
'/Ț|Ţ|Ť|Ŧ|τ|Т/' => 'T',
'/ț|ţ|ť|ŧ|т/' => 't',
'/Ù|Ú|Û|Ũ|Ū|Ŭ|Ů|Ű|Ų|Ư|Ǔ|Ǖ|Ǘ|Ǚ|Ǜ|Ũ|Ủ|Ụ|Ừ|Ứ|Ữ|Ử|Ự|У/' => 'U',
'/ù|ú|û|ũ|ū|ŭ|ů|ű|ų|ư|ǔ|ǖ|ǘ|ǚ|ǜ|υ|ύ|ϋ|ủ|ụ|ừ|ứ|ữ|ử|ự|у/' => 'u',
'/Ý|Ÿ|Ŷ|Υ|Ύ|Ϋ|Ỳ|Ỹ|Ỷ|Ỵ/' => 'Y',
'/ý|ÿ|ŷ|ỳ|ỹ|ỷ|ỵ/' => 'y',
'/В/' => 'V',
'/в/' => 'v',
'/Ŵ/' => 'W',
'/ŵ/' => 'w',
'/Ź|Ż|Ž|Ζ|З/' => 'Z',
'/ź|ż|ž|ζ|з/' => 'z',
'/Æ|Ǽ/' => 'AE',
'/ß/'=> 'ss',
'/IJ/' => 'IJ',
'/ij/' => 'ij',
'/Œ/' => 'OE',
'/ƒ/' => 'f',
'/ξ/' => 'ks',
'/π/' => 'p',
'/β/' => 'v',
'/μ/' => 'm',
'/ψ/' => 'ps',
'/Ж/'=>'Zh',
'/ж/'=>'zh',
'/Х/'=>'Kh',
'/х/'=>'kh',
'/Ц/'=>'Tc',
'/ц/'=>'tc',
'/Ч/'=>'Ch',
'/ч/'=>'ch',
'/Ш/'=>'Sh',
'/ш/'=>'sh',
'/Щ/'=>'Shch',
'/щ/'=>'shch',
'/Ю/'=>'Iu',
'/ю/'=>'iu',
'/Я/'=>'Ia',
'/я/'=>'ia'
);
$array_from = array_keys($foreign_characters);
$array_to = array_values($foreign_characters);
return preg_replace($array_from, $array_to, $str);
}
Tak když doslova přepíšu posledních pár vět tak:
var url = "http://www.xxx.cz/soubory/nahledy/nahled-soubor.jpg";
var file = url.replace("nahledy/nahled-", "");
;)
no tak samozřejmě nemusíš použít php vůbec a do odkazu dát adresu na HTML.
php jen v případě, že by jsi tahat data z databáze.
pokud ti jde jen o to vracet v php nějakej výstup na základě vstupu pak:
<?php
switch($_GET['id']+0)
{
case 0:
$content = '<h2>OBSAH0</h2><p>obsah0</p>';
break;
case 1:
$content = '<h2>OBSAH1</h2><p>obsah1</p>';
break;
case 2:
$content = '<h2>OBSAH2</h2><p>obsah2</p>';
break;
default:
$content = '<h2>ERROR 404 - Stránka nenalezena<h2>';
break;
}
echo $content;
?>
Tak úplně v tom nejjednodušším případě to může vypadat nějak takto:
HTML:
<div id="odkazy">
<a href="content.php?id=1">Stránka1</a>
<a href="content.php?id=2">Stránka2</a>
</div>
<div id="obsah"></div>
a JS:
$('#odkazy a').click(function(e)
{
$('#obsah').load($(this).attr('href')); // Všechno co vygeneruje stránka z odkazu hodí do divu #obsah
e.preventDefault(); // Zabrání tomu aby odkaz "fungoval"
return false; // Jistota pro nás, naivní programátory ze starý školy
}
);
S tím, že je to samozřejmě potřeba pustit někde na serveru a né jenom "otevřením souboru na ploše"
Myslím, že když napíšeš problém sem, tak je mnohem větší šance, že ti někdo pomůže ;)
No jednak vůbec nechápu tvoje zadání. Bylo by dobré umístit tvůj kód např. na http://jsfiddle.net/ .
No a když vydím tu část s
function callback(){$(".obal").mouseleave(...)
Tak je jasné, že se po každém zavolání té funkce přidá nový eventListener, čili jich tam je několik. Když už to vidim takhle prasácky napsaný, tak by snad mělo stačit na konec přidat unbind, čili asi:
...
$(".obal").mouseleave(function()
{
...
$(this).unbind('mouseleave');
}
);
...
Pak už by to snad nemělo dělat neplechu.
ne
echo include ("uprav2.html");
ale
include ("uprav2.html");
$this->msg = $this->info[3]; ??