- Napokon belül váratlan versenyzővel bővül a VGA-piac
- Kezdő fotósok digitális fényképei
- Új Intel CPU-kkal jön a Surface Pro 12 és a Surface Laptop 8 for Business
- Nem kell még temetni: 2 éves órajelcsúcsot döntöttek meg Raptor Lake-kel
- HiFi műszaki szemmel - sztereó hangrendszerek
- Házimozi belépő szinten
- Apple MacBook
- Milyen egeret válasszak?
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Gaming notebook topik
-
Fórumok
PROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Nyomtatók, szkennerek Tabletek, E-bookok PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokMobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokLOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
-
Frissítve: 2014-02-25 10:20 Téma összefoglaló
JavaScript != Java (A JavaScript nem összekeverendő a Javával, két különböző programozási nyelvről van szó!)
Új hozzászólás Aktív témák
-
trisztan94
őstag
-
jeges
senior tag
-
Sk8erPeter
nagyúr
Akkor most lebuktam, én vagyok a webfejlesztő Batman, alias Webman. 
-
Sk8erPeter
nagyúr
A közönség segítségét kérném.

Adott több legördülő menü jQuery-vel megoldva, melyek a slideToggle-t használják:
$('#tartalomjegyzek').click(function () {
$('ul.menu-body[class~="tartalomjegyzek"]').slideToggle('slow');
});
Miként tudom megoldani, hogy ne csak a #tartalomjegyzekre kattintva vonszolja vissza magát, hanem az oldalon bárhova kattintva, mely kritérium alól természetesen kivételt képeznek a listában legördült linkek? Az általam eddig összehozott próbálkozások nem működnek megfelelően. -
Speeedfire
félisten
A közönség segítségét kérném.

Adott több legördülő menü jQuery-vel megoldva, melyek a slideToggle-t használják:
$('#tartalomjegyzek').click(function () {
$('ul.menu-body[class~="tartalomjegyzek"]').slideToggle('slow');
});
Miként tudom megoldani, hogy ne csak a #tartalomjegyzekre kattintva vonszolja vissza magát, hanem az oldalon bárhova kattintva, mely kritérium alól természetesen kivételt képeznek a listában legördült linkek? Az általam eddig összehozott próbálkozások nem működnek megfelelően.Ha a body-ra nézed a click funkciót?
-
Sk8erPeter
nagyúr
Szívesen!
Holnap még reagálok a többire is. 
-
Sk8erPeter
nagyúr
Megoldottam. A nyomtatási linkben a href-nek a végére betoldottam egy "-nyomtathato" karakterláncot, amit az oldal betöltésekor php-ben vizsgálok, jelen van-e. Ha igen, a head részben létrehozok egy JS változót is neki igaz értékkel és a script-ben szépen elvégezem a teendőket. Tökéletesen működik.
Lenne még egy olyan kérdésem, hogy JS-ben nem tudok végrehajtani indexOf()-t a document.location-ön. Mi ennek az oka?
Hali!
Bocs, csak gyorsan tudok válaszolni, a többire érdemben csak holnap fogok tudni, de a lényeg, hogy a window.location egy objektum, így annak legfeljebb a tulajdonságait tudod vizsgálgatni, hogy létezik-e.
Példa:
window.location.hasOwnProperty('blabla');
false-szal tér vissza, mert nincs "blabla" nevű property-jewindow.location.hasOwnProperty('href');
true-val tér vissza, mert létezik a "href" property, ami a window.location.href-fel érhető el.Érdemes inkább ilyen vizsgálgatásokat végezni, ha viszont arra vagy kíváncsi, hogy mondjuk az adott cím tartalmaz-e valamilyen karaktersorozatot, akkor meg a megfelelő tulajdonságot kell felhasználnod, példa:
window.location.href.indexOf('eztkeresedateljescimben');
Ha csak a hostname-ben szeretnél keresni (pl. www.google.hu), akkor a hostname tulajdonságot kell felhasználnod:
window.location.hostname.indexOf('google');Ha mégis ragaszkodnál ahhoz, hogy a window.location-ön végezz indexOf-ot, akkor ez működik:
window.location.toString().indexOf('eztkeresedateljescimben');Ja, és persze mindegyiknél úgy kell vizsgálódnod, ha csak az érdekel, hogy benne van-e a keresettt string, hogy az indexOf nagyobb értéket ad-e vissza, mint -1, mert ha igen, akkor megtaláltad, ha nem, akkor nincs meg a keresett string.
-
jeges
senior tag
-
jeges
senior tag
Megoldottam. A nyomtatási linkben a href-nek a végére betoldottam egy "-nyomtathato" karakterláncot, amit az oldal betöltésekor php-ben vizsgálok, jelen van-e. Ha igen, a head részben létrehozok egy JS változót is neki igaz értékkel és a script-ben szépen elvégezem a teendőket. Tökéletesen működik.
Lenne még egy olyan kérdésem, hogy JS-ben nem tudok végrehajtani indexOf()-t a document.location-ön. Mi ennek az oka?
ie nem támogatja az indexOf() eljárást tömbökön
nem lehet, hogy ez a baj? milyen böngészőn teszteled?ezt próbáld ki: [link]
-
Siriusb
veterán
Nnnna, hogy belerakjak egy csavart (valószínűleg szimpla php-vel megoldható). Van egy ilyen htaccess sorom:
RewriteRule ([A-Za-z0-9-]+) index.php?oldal=$1 [NC]A linkhez megadnám ezt:
<a href="<?php echo $_SERVER['REQUEST_URI'] . "?nyomtatas=true";?>" target="_blank">És a headben szimplán $_GET-tel megnézném, létezik-e nyomtatas, ha igen, bepottyan a css fájl.
Szóval rewrite miatt mit kellene módosítanom, hogy működjön is? Gondolom a QSA-t hozzá kellene fűzni, de nem értelmezi GET változóként a ? utáni részt.
Arki,
Kösz, csak sajnos az esetemben nem jó, mert mindenképp új ablakot akarok.
Ezzel a DISABLED opcióval még nem találkoztam. Én cookie-val oldottam meg a skin váltást, hogy maradandó legyen.Megoldottam. A nyomtatási linkben a href-nek a végére betoldottam egy "-nyomtathato" karakterláncot, amit az oldal betöltésekor php-ben vizsgálok, jelen van-e. Ha igen, a head részben létrehozok egy JS változót is neki igaz értékkel és a script-ben szépen elvégezem a teendőket. Tökéletesen működik.
Lenne még egy olyan kérdésem, hogy JS-ben nem tudok végrehajtani indexOf()-t a document.location-ön. Mi ennek az oka?
-
Arki
tag
-
Arki
tag
Nnnna, hogy belerakjak egy csavart (valószínűleg szimpla php-vel megoldható). Van egy ilyen htaccess sorom:
RewriteRule ([A-Za-z0-9-]+) index.php?oldal=$1 [NC]A linkhez megadnám ezt:
<a href="<?php echo $_SERVER['REQUEST_URI'] . "?nyomtatas=true";?>" target="_blank">És a headben szimplán $_GET-tel megnézném, létezik-e nyomtatas, ha igen, bepottyan a css fájl.
Szóval rewrite miatt mit kellene módosítanom, hogy működjön is? Gondolom a QSA-t hozzá kellene fűzni, de nem értelmezi GET változóként a ? utáni részt.
Arki,
Kösz, csak sajnos az esetemben nem jó, mert mindenképp új ablakot akarok.
Ezzel a DISABLED opcióval még nem találkoztam. Én cookie-val oldottam meg a skin váltást, hogy maradandó legyen.Nm., de pl. ez?
function vmi()
{
var acss="masstilus.css";
var hablak=window.open('','Oldal','toolbar=no,location=no,status=no,menubar=no,scollbars=no,resizeable=no,dependent=yes,width=400,height=200');
hablak.document.write("<!--//valamik//-->");
hablak.document.write("<link rel=stylesheet href="+acss+" type=text/css>");
hablak.document.write("<!--//valamik//-->");
}De ha csak nyomtatáshoz akarsz más css-t, akkor:
<LINK REL="STYLESHEET" HREF="alap.css" TYPE="TEXT/CSS" MEDIA="ALL">
<LINK REL="STYLESHEET" HREF="nyomtatashoz.css" TYPE="TEXT/CSS" MEDIA="PRINT">
Ez nem elég hozzá? -
Arki
tag
jQuery-ben szeretném megoldani, hogy az aktuális oldalt nyissa meg egy új fülben úgy, hogy közben egy új css is hozzá van adva. A
window.open(window.location.pathname); paranccsal az első rész megoldható, de az oldal manipulálásának mikéntjére nem tudok rájönni, mármint arra, milyen módon érhetem el, ne az eredeti ablakban lévő head-hez adjam hozzá a fájlt, hanem az új ablakéhoz. Kösz.JS pl?
<link rel="stylesheet" href="html.css" type="text/css">
<link rel="stylesheet" href="html2.css" type="text/css" DISABLED>
<link rel="stylesheet" href="html3.css" type="text/css" DISABLED>
<script language="JavaScript" type="text/JavaScript">
/* váltás HTML stílusok között */
function stilus(ez)
{
csslink=document.getElementsByTagName("link");
csslink[ez].disabled=false;
if (ez==0)
{
csslink[1].disabled=true;
csslink[2].disabled=true;
}
else if (ez==1)
{
csslink[0].disabled=true;
csslink[2].disabled=true;
}
else if(ez==2)
{
csslink[0].disabled=true;
csslink[1].disabled=true;
}
}
</script>
...
Body-ban:Válasszon egy designt:
<select id="htmlstiluslink" onChange="stilus(form.htmlstiluslink.options[form.htmlstiluslink.selectedIndex].value);" title="Válasszon ki egy design stílust a HTML felületéhez.">
<option value="0">Kék (alap)</option>
<option value="1">Piros</option>
<option value="2">Zöld</option>
</select>
Az első, nem tiltott fáj,l kék színeket tartalmaz. Oldalon belül oldottam meg így a váltást, remélem ez is segít. -
Sk8erPeter
nagyúr
-
Sk8erPeter
nagyúr
jQuery-ben szeretném megoldani, hogy az aktuális oldalt nyissa meg egy új fülben úgy, hogy közben egy új css is hozzá van adva. A
window.open(window.location.pathname); paranccsal az első rész megoldható, de az oldal manipulálásának mikéntjére nem tudok rájönni, mármint arra, milyen módon érhetem el, ne az eredeti ablakban lévő head-hez adjam hozzá a fájlt, hanem az új ablakéhoz. Kösz.Én ezt JS+PHP segítségével oldanám meg.
Pont ilyenről érdeklődött valaki egy másik topicban, itt: [link].
Remélem érthető, amit ott írtam, és hasznát tudod venni.Ha valami nem világos, kérdezz rá nyugodtan.
-
jeges
senior tag
Megváltoztattam.
Csak a body-ban volt/van konkrét érték megadva, minden más esetben em-et használok.
Néztem én is néhány plugin-t, bosszankodtam is, miért működnek.
Azonban úgy voltam vele, nagyon égő, ha ilyen egyszerű feladatra is plugint használok. No meg abból nem is tanulok.
Azért pl. fájlletöltésre már simán használom a jDownloadert.
kulcsszavak vs px:
annyaira azér' nem egyszerű a kérdés... ie-ben nincs computedStyle, ami "átváltaná" a szavakat (small, large, stb) pixel értékekre. jquery bicskája is ugyanebbe törik bele, mivel a kulcsszavak függnek az aktuális felbontástól, plusz ie-ben (elsősorban régi ie-kben) vannak beállítások, amiktől nem lehet belőlük számolni. sajna ha css-ben adsz fix értéket, akkor meg bizonyos körülmények között nem lehet módosítani rajta ie6-ban, így marad a "szokásos" osztály-módosítós játék (ha elegendő 3-4 nagyság), vagy inline cssText (ez utóbbira mutattam én példát fentebb), vagy em, ill %.
pl itt lehet róla olvasni, ha mélyebben érdekel -
Sk8erPeter
nagyúr
"Mivel a css-ben is medium-ra van állítva."
Erről beszélek, hogy ezt változtasd meg...
Vannak előre megírt jQuery-pluginek ilyen célra: [link]
Ki lehet próbálgatni őket (Try out a demonstration).==========
(#2059) jeges: ennek mi köze az egész konkrét betűméret-állításhoz?

Ez csak általános stílusbeállítgatás és -eltávolítás.
Ráadásul konkrét használati példát sem adtál rá, hogy jelen esetben hogyan lehetne hasznát venni. (Nyilván én tudom, de nem értem, miért is lenne az jobb, mint amit Siriusb eddig összehozott... Ennek a pontos feladathoz nem sok köze van.)
-
jeges
senior tag
Hrrrrrrrrrrrrrrrrr. A css-ben a font-size medium-ként van megadva, nem pixelben. Chromium, FF és gondolom minden más böngésző pixelt ad vissza a jquery css() függvényre. IE medium-ot.
Tudom, a legegyszerűbb megoldás px-ben megadni, de nincs rá lehetőség, hogy IE-nél is kinyerjem valahogy a pixel számértéket?én ezeket használom most:
function getStyle(oElm, strCssRule){
try{
var strValue = "";
if(document.defaultView && document.defaultView.getComputedStyle){
strValue = document.defaultView.getComputedStyle(oElm, "").getPropertyValue(strCssRule);
}
else if(oElm.currentStyle){
strCssRule = strCssRule.replace(/\-(\w)/g, function (strMatch, p1){
return p1.toUpperCase();
});
strValue = oElm.currentStyle[strCssRule];
}
var num = strValue.replace(/[\sa-z]+/gi, '');
var str = strValue.replace(/[\d\.]+/i, '');
return [parseFloat(num), str];
}catch(er){return [0,"px"];}
}
function setStyle(obj,st,vl){
var a = obj.style.cssText;
obj.style.cssText = (a.length>0) ? a + ";" + st + ":" + vl : st + ":" + vl ;
}
function removeStyle(obj,st){
str = new RegExp("(?:\\b|^)" + st + "\\s?:[^;]*(?:$|;)", "i");
obj.style.cssText = obj.style.cssText.replace(str, "");
}ie6+, ff, opera, chrome megette eddig.
-
Sk8erPeter
nagyúr
Hrrrrrrrrrrrrrrrrr. A css-ben a font-size medium-ként van megadva, nem pixelben. Chromium, FF és gondolom minden más böngésző pixelt ad vissza a jquery css() függvényre. IE medium-ot.
Tudom, a legegyszerűbb megoldás px-ben megadni, de nincs rá lehetőség, hogy IE-nél is kinyerjem valahogy a pixel számértéket?És ha a CSS-fájlodban explicite megadod, hogy a #tartalomnál mekkora legyen a betűméret px-ben, akkor is medium-ot ad vissza?
Csak nem már.
Amúgy ennél a résznél:
default:
$("#tartalom").css("font-size","medium");
break;nem is értem, minek "medium"-ot adsz meg, így nehéz ebből int értéket kiszámolni.

Ezt is változtasd meg az általad közepesnek tekintett betűméretre. Gondolom ez nagyjából a 17px-es érték lehet nálad, ha a 24 a max, 10 a min, nem?
Bár lehet, hogy ez nagy lesz alapból kicsit. -
Sk8erPeter
nagyúr
Készítettem egy kódot weboldal betűméret változtatására, mely Firefoxban természetesen működik, IE-ben:
$("li.fel,li.le,li.eredeti").each(function(){
$(this).hover(function(){$(this).css("color","red")},
function(){
szin = $("#tartalom").css("color");
$(this).css("color",szin)});
$(this).click(function(e){
e.preventDefault();
$(this).fontSize();
});
});és
jQuery.fn.fontSize = function() {
switch ($(this).attr("class")) {
case "fel":
betumeret = parseInt($("#tartalom").css("font-size").replace(/px/, ""));
if (betumeret < 24){
ujMeret = betumeret + 1;
$("#tartalom").css("font-size", ujMeret + "px");
}
break;
case "le":
betumeret = parseInt($("#tartalom").css("font-size").replace(/px/, ""));
if (betumeret > 10){
ujMeret = betumeret - 1;
$("#tartalom").css("font-size", ujMeret + "px");
}
break;
default:
$("#tartalom").css("font-size","medium");
break;
}
};Lenne valakinek javaslata a megoldásra?
Úgy is próbáltad, hogy az e.preventDefault();-ot a fontSize() függvényhívás utánra teszed? Mellesleg ha sima <li> listaelemekbe pakoltad be, akkor mi szükség van a preventDefault()-ra?
Vagy <a> tagekbe raktad? Ha utóbbi, akkor miért nem az a-ra (és miért a li-re) vonatkoztatva kezeled a click eseményt?
A hozzá tartozó HTML-kódot sem ártana látni.
Esetleg fel tudod rakni egy ingyenes tárhelyre a lényeget? Úgy könnyebb lenne kipróbálni és debuggolni.
Egyébként simán lehet, hogy az each-re nincs is szükség. -
Sk8erPeter
nagyúr
Továbbra is áll, amit írtam korábban, tehát nem törölhető JS-ből a cache, de mégis találtam módszert arra, hogy figyelmen kívül hagyja a korábban cache-elt elemeket, és új példányokat szedjen le a szerverről, itt: [link]
"You can call window.location.reload(true) to reload the current page. It will ignore any cached items and retrieve new copies of the page, css, images, JavaScript, etc from the server. This doesn't clear the whole cache, but has the affect of clearing the cache for the page you are on."Tehát:
window.location.reload(true);
Ezek szerint a true boolean azt adja meg, hogy újratöltse a szerverről az oldalt, és NE a böngésző cache-éből szedje le az adatokat, és ez szerintem már részben válasz is a kérdésre.
DE ha tényleg azt szeretnéd, hogy sose cache-eljen a böngésző, ha az adott oldalra navigál a felhasználó, akkor azt már nem JavaScriptből kell elintézni!
Majd írd le, konkrétan mi a célod, és akkor tovább gondolkodunk a megoldáson!
-
Sk8erPeter
nagyúr
Hát az elég érdekes lenne biztonsági szempontból, ha JavaScripttel törölni lehetne a cache-t.
Szóval ilyenre nincs mód JavaScriptből.
Legfeljebb arra van, hogy megoldd, hogy pl. a JS-fájlokat frissítésnél újból betöltse, illetve arra, hogy egyáltalán ne cache-elje az oldaladat a böngésző, de ez sem olyan nagyon szerencsés, pont azért cache-el a böngésző, hogy első oldalbetöltés után lehetőleg gyorsabb legyen a böngészés. -
Sk8erPeter
nagyúr
Egy noob kérdés

Van valami lehetőség javascripttel (vagy máshogy), hogy egy ctrl+f5-nek (vagy legalább sima frissítésnek) megfelelő műveletet hajtson végre a böngésző? Hiába van no-cache beállítva a html-ben, nem mindig működik.Speeedfire, én már kaptam itt hathatós és részletes segítséget.

JavaScripttel oldal frissítése:
<button id="refresh" onclick="window.location=window.location;">Frissít</button> -
Speeedfire
félisten
-
Siriusb
veterán
Használom a jdownload plugint, hogy kikényszerítsem a fájlok letöltését, de mp3 esetén nem működik; ha tetszik, ha nem, lejátsza a fájlt. Valami ötlet, mi lehet a gond?
A probléma ott található, hogy a jplayer playlist-jével próbáltam összekötni. Szóval inkább készítettem külön linket...
Hmm, én is jól eldumáltam magammal, akár az előttem szóló
-
Sk8erPeter
nagyúr
Olvasom ezt a linkedet. Vagy én nem értem, vagy a szerző nem ért a jQuery-hez. Persze alapból az első opcióra tenném az ötforintost, ám mégis:
jQuery.fn.secondPlugin = function (number1, number2, options) {
myoptions = jQuery.extend ({
operation: "sum",
label: "The result is"
}, options);
$(this).html (myoptions.label + " (" + myoptions.operation + ")" + myoptions.number1+myoptions.number2);
}
$('#test').secondPlugin (1, 2);
to get
<span id="test The result is (sum) 3</span>
Ez eredménynél a szintaktikai hibáktól eltekinthetünk, de magától az eredménytől ne. Először is, az extend nem arról szól, hogy összead, hanem arról, hogy összefésül/felülír. A myoptions változóba be se rakja a 2 paramétert: number1, number2, akkor miért gondolja, hogy a html()-ben hivatkozni tud rá, ráadásul kiíratva őket, azok valami csoda folytán összeadva jelennek meg?Úgy néz ki, hogy ez egy fos.
Bocs, de nem olvastam el előtte, csak gyorsan átfutottam rajta, Google-keresés eredménye volt ez a találat.
Ha már ilyen kacifántos megoldást akar, akkor ez az, ami működik, ide felraktam (tök feleslegesen bonyolítja az életet): [link]
vagy akkor már ez értelmesebb: [link]
(mellesleg ajánlom ezt az oldalt próbálgatásra!!)
Szóval totál idióta módszereket próbál használni a cikkíró. Felejtős.
Bocsesz, ilyen fos cikket nem linkelek legközelebb, csak olyat, amit tényleg átolvastam. Most, hogy így nézem, ez a cikk inkább arra jó, hogy összekavarjon.De írj továbbra is, ha felmerül valami kérdés.

-
Sk8erPeter
nagyúr
Itt a selector csak egy elnevezés, tök mindegy, amúgy lehetne "selector" helyett "pityipalko" is, csak érzékeltetni akartam, hogy az mi lesz, itt láthatod, hogy nagyjából mit is jelent az, hogy "selector": [link]
Ezt rakod a rövidített (jQuery szó helyetti) $ "kulcsszó" mögé, zárójelben, ezzel kiválasztod a dokumentum megfelelő részét, mint egy objektumot. Erről elméletben sokat lehetne regélni, de igazából gyakorlással lehet ezt a legjobban megérteni.A függvények létrehozására amúgy lehet használni az extend-et is, de ezekről itt van egy viszonylag áttekinthető cikk: [link], meg itt: [link], meg itt: [link].
Remélem ez segít!
-
Sk8erPeter
nagyúr
Hogy én erre miért nem jöttem rá! Így, látva teljesen egyértelmű, ezt így kell csinálni.

És ha $.neBenazz = function() -ként hozom létre? Akkor ezen belül kellene szerepelnie a $('a[href$=.pdf]')-nak? Vagy paraméterként passzolom át? Csak a tanulás kedvéért...

És kösz a választ. Igyekszem majd a helyes szintakitikát használni, jogos a felvetés.
Van még egy lehetséges változat, ami működik is:
$(document).ready(function(){
$(document).neBenazz( $('a[href$=.pdf]') );
});
$.fn.neBenazz = function( selector ) {
$(selector).each(function(){
$(this).attr( 'title', $(this).attr('href') );
});
};De ez szerintem feleslegesen kacifántos túlbonyolítás, inkább a korábbi változatnak megfelelőt használd.
Ilyesmire is szükség lehet adott helyzetekben, de ez most nálad nem az a helyzet. 
-
Sk8erPeter
nagyúr
Rágom át magam a jQuery alapokon, nagyon hasznos cucc, viszont van valami, amire nem tudok rájönni (pedig még a jDownload plugint is sikerült meghegesztenem, hogy működjön
) :$('a[href$=".pdf"]').each(function(i) {
this.title = this.href;
});Pl. azt szeretném, ha a szóbanforgó linkek tooltipjébe bekerülne a href. Amennyiben a fenti kód a $(document).ready(function(){ blablabla -ban van, meg is csinálja.
Ellenben azt nem tudom összehozni, hogy $('a[href$=".pdf"]') -en egy másik fájlban lévő function hajtsa végre a this.title = this.href; parancsot. Tehát azt szeretném, hogy (nagy vonalakban):$(document).ready(function(){
$('a[href$=".pdf"]').each(neBenazz());
});
---------------------------
$.fn.neBenazz = function() {
this.title = this.href;
}Valaki előszedné a zseblámpáját és rávilágítana?
Kösz.Ha már ilyen módon hoztad létre a függvényt:
$.fn.neBenazz = function() {
// ...
}Akkor annak megfelelően is hívd meg, pl:
$('#blabla').neBenazz();Ez így működik:
$(document).ready(function(){
$('a[href$=.pdf]').each(function(){
$(this).neBenazz();
});
});
$.fn.neBenazz = function() {
$(this).attr( 'title', $(this).attr('href') );
};Ha lehet, maradj a jQuery-szintaktikánál, ne keverd.

-
Sk8erPeter
nagyúr
Az a helyzet, hogy közben már írogattam bele és kikommenteltem pár dolgot, így mikor próbáltam visszaállítani egy eredeti - letisztított - állapotot, ami bemásolható ide, nem igazán sikerült.
Bocs.Más: azt olvastam több helyen, hogy jQuery -t jobb használni, mert az kikerüli a különböző böngészők miatti kompatibilitási gondokat. Tényleg érdemes belemászni?
Tényleg érdemes.

A jQuery nemcsak azért jó, mert a különböző böngészők különböző hülyeségeinek nagy többségére fel van készítve (nem neked kell megírni a kerülő megoldásokat), hanem mert jóval tömörebb, átláthatóbb, szebb kódot eredményez, az AJAX-kezelő API is nagyon kényelmes, így összességében bőven megtérül az arra fordított idő, amíg nagyjából elsajátítod a használatát.Itt van egy elég jó puska hozzá, ami sok lényeges metódus használati módját tartalmazza, meg persze a hivatalos honlapja ajánlott, mert elég szemléletes, és jól dokumentált anyag van fent.
A példák is elég jók: pl. ha a slideToggle() metódus használatára vagy kíváncsi, egyből meg is tudod tekinteni a gyakorlatban: [slideToggle()].
-
Sk8erPeter
nagyúr
Már eleve az initAll() függvény is problémás, mivel kétszer fut le a cookieCheck() függvény!
function initAll() {
var visited;
visited = cookieCheck();
if (!cookieCheck()) {
checkForNewContent(document.links,visited);
}
}Az if (!cookieCheck()) helyett if (!visited) kellene, hogy álljon.
Abban sem látom a logikát, hogy épp a needAlert false értékére fogsz alert ablakokat feldobni...
-
Siriusb
veterán
Azt hittem, van valami közismert trükk

window.onload = initAll;
function initAll() {
var visited;
visited = cookieCheck();
if (!cookieCheck()) {
checkForNewContent(document.links,visited);
}
}
function checkForNewContent(thisLink,needAlert) {
allClass = "";
for (var i=0; i<thisLink.length; i++) {
if (thisLink[i].parentNode.getElementsByTagName("li")) {
allClass = thisLink[i].parentNode.getAttribute("class").split(" ");
if (allClass) {
for (j=0;j<allClass.length;j++){
switch (allClass[j]) {
case "uj":
if (!needAlert) {
alert("Új fejezet!"+'\n'+thisLink[i].name);
}
thisLink[i].title="Új fejezet!"
break;
case "modositott":
if (!needAlert) {
alert("Megváltozott tartalom!"+'\n'+thisLink[i].name);
}
thisLink[i].title="Megváltozott tartalom!"
break;
default:
break
}
}
}
}
}
}
function cookieCheck(){
var thisCookie = document.cookie.split("; ");
var cookieCnt = thisCookie.length;
for (j=0;j<cookieCnt;j++) {
var cookieName = thisCookie[j].split("=")[0];
if (cookieName=="pageVisited") {
return true;
}
}
var visitDate = new Date();
document.cookie = "pageVisited=" + visitDate.toUTCString() +";path=/;expires='';";
return false;
}Rájöttem, hogy én bénáztam, az utolsó előtti sorban, ahol a cookie-t létrehozom, a expires='';" helyett csak expires=" kell, és ezt nem tudta IE kezelni.
-
Sk8erPeter
nagyúr
Hello,
Van egy olyan problémám, hogy window.onload-kor vizsgálom, hogy egy bizonyos cookie létezik-e. Ha nem létezik, akkor végrehajt egy funkciót és létrehozza ezt a cookie-t, aminek csak addig kellene érvényesnek lenni, amíg be nem zárják a böngészőt.
IE-nél van a gond: egyszerűen nem veszi figyelembe, hogy ott a cookie, mindig végrehajtja azt a funkciót, amit csak ennek a hiánya esetén kellene.
Valaki tudna segíteni?
Ja, és ez az első script, amit JS-ben írok, szóval csak finoman
Ha kell a script, bemásolom, elég rövid.Egyszerűbb lett volna, ha kapásból a kód bemásolásával kezded...

Új hozzászólás Aktív témák
-
Fórumok
PROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Nyomtatók, szkennerek Tabletek, E-bookok PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokMobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokLOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
- Új MSI 16 Sword WUXGA 144Hz i7-14650HX 5.2Ghz 16mag 16GB 1TB SSD Nvidia RTX 4070 8GB Win11 Garancia
- Legújabb Thinkpad T14 gen6 - Bontatlan + magyar! - Core Ultra 7 255U - 16/32GB - 512GB - Gyártói gar
- Fujitsu 27" B27-9 TE Full HD 1920x1080 hófehér monitor - több db - gari számla - állítható magasság
- Kingston HyperX és FURY 16Gb (20-22k) és 32GB DDR4 (47k) laptop ramok párban is 2666Mhz/3200Mhz
- Lenovo Thinkpad T14s gen 6 - Teljesen új - Ryzen AI 7 PRO 350 - 32GB - 512GB - 2028 októberig gari!
- Konzol felvásárlás!! Xbox Series S, Xbox Serries X
- Wacom Bamboo One CTF-430 rajztábla
- Xiaomi Redmi Note 15 Pro+ 5G 8GB/256GB mobiltelefon
- Új! Gigabyte Aero X16 UltraSlim Gamer Laptop Ryzen 7 350 32GB 1TB RTX 5060 16" QHD+ 165Hz Garancia
- BESZÁMÍTÁS! Asus Rog STRIX RTX 2080 8GB videókártya garanciával hibátlan működéssel
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest





Akkor nem értettem meg az előző linked 

Csak a body-ban volt/van konkrét érték megadva, minden más esetben em-et használok.

Csak nem már.

Szóval ilyenre nincs mód JavaScriptből.

