Autor Zpráva
nasik
Profil *
Ahojte,

mam takyto problem, robim na svoju stranku taku branding kampan, teda nieco take, ze mam v strede moju vlastnu stranku (sirka 900 px) a vsade okolo reklamny obrazok.

Branding robim tak, ze do CSS "body" atributu pridam pozadie (.png), vznikne nieco ako je napriklad tu: http://www.uctovani.net/images/reklama/full-branding.png

A teraz co by som chcel kliknutim na tu brandigovu cast (v obrazku modre pozadie), sa presmerujem na iny web. Ako je to prosim mozne urobit?
Idealne bez JS, ale moze byt aj JS.

Vopred dakujem velmi pekne, velmi mi pomozete.

Nasik.
Fisir
Profil
Reaguji na nasika:
Budeš muset pro reklamu vytvořit vlastní element (asi a), ten pak napozicovat a roztáhnout podle potřeby, nastavit mu pozadí a posunout ho za stránku. (z-index).
nasik
Profil *
Fisir:

dakujem velmi pekne, a to napozicovanie sa prosim ako robi?

Vopred dakujem.
Chamurappi
Profil
Reaguji na nasika:
Pokud to uděláš jako klasický odkaz, bude to proklikávat i tehdy, když uživatel klikne do stránky jen proto, aby aktivoval okno, což není moc hezké. Navíc pravé tlačítko na této reklamě bude ukazovat menu odkazu a ne menu stránky. Také bych se obával funkčnosti na tabletech a mobilech, protože tam občas nebývá respektován z-index při překrytí aktivní plochy nějakou neaktivní.

Kdybych měl proklik brandingu někdy vyrábět já, udělal bych to skriptem a nějak takhle:
function branding(url)
{
  var focusTime = -Infinity, mouseDownTime = 0;
  var allowFocus = true;
  window.onfocus = function()
  {
    if(allowFocus) focusTime = +new Date;
    allowFocus = false;
  };
  window.onblur = function()
  {
    allowFocus = true;
  };
  document.onmousedown = function()
  {
    mouseDownTime = +new Date;
  };
  document.onclick = function(e)
  {
    if(Math.abs(focusTime - mouseDownTime) < 300) return true;
    var event = e || window.event;
    var target = event.target || event.srcElement;
    if(event.button == 2 || event.which > 1) return true;
    if(target == document.body) location.href = url;
  };
};
nasik
Profil *
Chamurappi:
Dakujem velmi pekne za obsirnu odpoved. Suhlasim s Vami.

Vyskusal som to, ale su tam este 2 problemy:

1.) Kliknut sa da iba po bocnych castiach, hore ani dole sa kliknut neda
2.) Mys nema kurzor odkazu, co tiez nie je najstastnejsie.

Da sa prosim toto este nejako osetrit?

Vopred dakujem velmi pekne.


Chamurappi:
Klik na hore som uz vyriesil tak, ze som mal margin-top na tu obsahovu casu, a ten som dal na 0 a dal som padding body.

Ale skor ma trapi ako spravit to, aby kurzor mysi bol ako kurzor odkazu.

Vopred dakujem velmi pekne.
Chamurappi
Profil
Reaguji na nasika:
Nastav cursor: pointer pro <body> a zpátky pak cursor: default pro obsahový blok.
nasik
Profil *
Chamurappi:
Skvele, si uplne uzasny!!!! Dakujem velmi pekne.

A vies mi prosim Ta este vysvetlit, co to vlastne ten skript robi?
(Nech to len tak hlava nehlava nekopirujem a nech tomu rozumiem)

Vopred dakujem velmi pekne.
nasik
Profil *
Chamurappi:
Prosim este, ked chcem klik v novom okne, tak co mam robit?

Vopred dakujem.
Chamurappi
Profil
Reaguji na nasika:
ked chcem klik v novom okne
Místo location.href = url použiješ window.open(url).

A vies mi prosim Ta este vysvetlit, co to vlastne ten skript robi?
Začnu od konce:
1) Událost document.onclick na 18. řádku se vyvolává při jakémkoliv kliknutí do stránky.
2) Řádky 21 a 22 srovnávají nekompatibility mezi prohlížeči při zpracování událostí. Ve výsledku je v proměnné event popis události kliknutí a v proměnné target je element, na němž k události došlo.
3) Řádek 23 zajišťuje, že klik pravým tlačítkem nic nedělá.
4) Na řádku 24 se porovnává, zda element, na němž došlo ke kliknutí, je <body>. Pokud jo, tak šup na url. (Kdyby měl branding proklikávat i na jiných elementech, do této podmínky se musí přidat.)
5) Konstrukce na řádcích 3 až 17 měří čas posledního stisknutí tlačítka myši a čas aktivace okna. Na první pohled je to trochu upovídanější, než se zdá, že je nutné, ale takto to postihuje co nejširší spektrum prohlížečů.
6) Podmínka na řádku 20 zjišťuje rozdíl mezi výše změřenými časy. Pokud je moc malý, znamená to, že účelem kliku bylo aktivování okna, nikoliv prokliknutí reklamy => další kroky onclicku se nesmí vykonat.

Skvele, si uplne uzasny!!!!
Děkuji :-)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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

0