Skripta za floating banner

Jer bi mi mogao neko ovo pogledati, to bi trebala biti skripta koja pokazuje floating baner, samo negdje fali nesto pa ne pokazuje.

<script> //enter your message 
in this part, including any html tags var message='[align=center]<b><font 
color=blue size=4><a href="hosting.html">Webhosting with simply 
super support!
Click Here!</a></font></b>[/align]' 
//enter a color name or hex value to be used as the background color of the message. 
Don't use hash # sign var backgroundcolor="red" //enter 0 for always 
display, 1 for a set period, 2 for random display mode var displaymode=0 //if 
displaymode is set to display for a set period, enter the period below (1000=1 
sec) var displayduration=10000 //enter 0 for non-flashing message, 1 for flashing 
var flashmode=1 //if above is set to flashing, enter the flash-to color below 
var flashtocolor="yellow" ///////////////do not edit below this line//////////////////////////////////////// 
<!-- script distributed by http://www.hypergurl.com function regenerate(){ 
window.location.reload() } var which=0 function regenerate2(){ if (document.layers) 
setTimeout("window.onresize=regenerate",400) } function display2(){ 
if (document.layers){ if (topmsg.visibility=="show") topmsg.visibility="hide" 
else topmsg.visibility="show" } else if (document.all){ if (topmsg.style.visibility=="visible") 
topmsg.style.visibility="hidden" else topmsg.style.visibility="visible" 
setTimeout("display2()",Math.round(Math.random()*10000)+10000) } } function 
flash(){ if (which==0){ if (document.layers) topmsg.bgColor=flashtocolor else 
topmsg.style.backgroundColor=flashtocolor which=1 } else{ if (document.layers) 
topmsg.bgColor=backgroundcolor else topmsg.style.backgroundColor=backgroundcolor 
which=0 } } if (document.all){ document.write('<span id="topmsg" 
style="position:absolute;visibility:hidden">'+message+'</span>') 
} function logoit(){ document.all.topmsg.style.left=document.body.scrollLeft+document.body.clientWidth/2-document.all.topmsg.offsetWidth/2 
document.all.topmsg.style.top=document.body.scrollTop+document.body.clientHeight-document.all.topmsg.offsetHeight-4 
} function logoit2(){ topmsg.left=pageXOffset+window.innerWidth/2-topmsg.document.width/2 
topmsg.top=pageYOffset+window.innerHeight-topmsg.document.height-5 setTimeout("logoit2()",90) 
} function setmessage(){ document.all.topmsg.style.left=document.body.scrollLeft+document.body.clientWidth/2-document.all.topmsg.offsetWidth/2 
document.all.topmsg.style.top=document.body.scrollTop+document.body.clientHeight-document.all.topmsg.offsetHeight-4 
document.all.topmsg.style.backgroundColor=backgroundcolor document.all.topmsg.style.visibility="visible" 
if (displaymode==1) setTimeout("topmsg.style.visibility='hidden'",displayduration) 
else if (displaymode==2) display2() if (flashmode==1) setInterval("flash()",1000) 
window.onscroll=logoit window.onresize=new Function("window.location.reload()") 
} function setmessage2(){ topmsg=new Layer(window.innerWidth) topmsg.bgColor=backgroundcolor 
regenerate2() topmsg.document.write(message) topmsg.document.close() logoit2() 
topmsg.visibility="show" if (displaymode==1) setTimeout("topmsg.visibility='hide'",displayduration) 
else if (displaymode==2) display2() if (flashmode==1) setInterval("flash()",1000) 
} if (document.layers) window.onload=setmessage2 else if (document.all) window.onload=setmessage 
end script --> </script>

Hvala

Evo malo sam raslanio ali opet 0 bodova

<script> 
var message='[align=center]<b><font color=blue size=4><a href="hosting.html">Webhosting with simply super support!
Click Here!</a></font></b>[/align]';
var backgroundcolor="red";
var displaymode=1 ;//enter 0 for always  display, 1 for a set period, 2 for random display mode 

var displayduration=2000; //1000=1sec


var flashmode=1; //enter 0 for non-flashing message, 1 for flashing 

var flashtocolor="yellow"; //if above is set to flashing, enter the flash-to color below 

{window.location.reload() } var which=0 function regenerate2(){ if (document.layers) 
setTimeout("window.onresize=regenerate",400) } function display2(){ 
if (document.layers){ if (topmsg.visibility=="show") topmsg.visibility="hide" 
else topmsg.visibility="show" } else if (document.all){ if (topmsg.style.visibility=="visible") 
topmsg.style.visibility="hidden" else topmsg.style.visibility="visible" 
setTimeout("display2()",Math.round(Math.random()*10000)+10000) } } function 
flash(){ if (which==0){ if (document.layers) topmsg.bgColor=flashtocolor 
else topmsg.style.backgroundColor=flashtocolor which=1 } 
else{ if (document.layers) topmsg.bgColor=backgroundcolor 
else topmsg.style.backgroundColor=backgroundcolor 
which=0 } } if (document.all){ document.write('<span id="topmsg" style="position:absolute;visibility:hidden">'+message+'</span>')
} function logoit(){ document.all.topmsg.style.left=document.body.scrollLeft+document.body.clientWidth/2-document.all.topmsg.offsetWidth/2 
document.all.topmsg.style.top=document.body.scrollTop+document.body.clientHeight-document.all.topmsg.offsetHeight-4 
} function logoit2(){ topmsg.left=pageXOffset+window.innerWidth/2-topmsg.document.width/2 
topmsg.top=pageYOffset+window.innerHeight-topmsg.document.height-5 setTimeout("logoit2()",90) 
} function setmessage(){ document.all.topmsg.style.left=document.body.scrollLeft+document.body.clientWidth/2-document.all.topmsg.offsetWidth/2 
document.all.topmsg.style.top=document.body.scrollTop+document.body.clientHeight-document.all.topmsg.offsetHeight-4 
document.all.topmsg.style.backgroundColor=backgroundcolor document.all.topmsg.style.visibility="visible" 
if (displaymode==1) setTimeout("topmsg.style.visibility='hidden'",displayduration) 
else if (displaymode==2) display2() if (flashmode==1) setInterval("flash()",1000) 
window.onscroll=logoit window.onresize=new Function("window.location.reload()") 
} function setmessage2(){ topmsg=new Layer(window.innerWidth) topmsg.bgColor=backgroundcolor 
regenerate2() topmsg.document.write(message) topmsg.document.close() logoit2() 
topmsg.visibility="show" if (displaymode==1) setTimeout("topmsg.visibility='hide'",displayduration) 
else if (displaymode==2) display2() if (flashmode==1) setInterval("flash()",1000) 
} if (document.layers) window.onload=setmessage2 else if (document.all) window.onload=setmessage 
</script

Jel’ ti treba skripta koja će nešto stavljati na sredinu i ispred ostalog sadržaja (kao floating banner) ili konkretno ovaj kôd srediti ?

@nitko
bilo bi dobro na sredinu iliprva trecina, ali ISPRED sadrzaja, tocno kao floating baner tj ko mali prozor(nova stranica velicine xy, da se moze zatvoriti, a na strani recimo .jpg)

Puno hvala

Evo ovo je nabrzaka :slight_smile:

[ATTACH]1480[/ATTACH]

Možeš li sam shvatiti kako funkcionira ili da napišem ?

Bas i nemrem shvatiti :frowning:
Ako mozes barem pojasniti di se namjesta pozicija di ce se baner pokazati na stranici
Te kako namjestiti da X za gasenje bude na slici ne pokraj nje.
Prikazuje se na razlicitim mjestima FF dole ljevo a IE i OPERA gore na vrhu…

Jer ince mi duga noc predstoji…

Hvala unaprijed

Pa čuj, banner ti se pokaže u gornjoj trećini stranice na sredini, a X se u kôdu može promijeniti u bilokoju sličicu, te ga se naravno može pozicionirati kako god (malo veći z-index da bude iznad, i tak).

Npr, zamijeni

ovo:
[php] // gumb za ugasit, jedan tipicni
var close = ‘X’;[/php]

sa ovim:
[php] // gumb za ugasit, jedan tipicni
var close = ‘’;[/php]

A reklamu umećeš na slijedeći način:
[php]

[/php]

Sintaksa:

float_show(sirina reklame, visina reklame, putanja do reklame, ID objekta);

sve ok, samo u FF pokazuje uvjek u dolnjem ljevom kutu, u IE i operi je sve ok
A ovaj X sa slicicom ne sljaka u IE…
Uf…
Hvala

aha za IE treba gumbu dati poziciju left jer ga inace bac apo ekranu, sada jos problem sa FF
Hvala

Errata:

// izracunamo poziciju
var cssTop = Math.round((scrHeight - objHeight) / 3);
var cssLeft = Math.round((scrWidth - objWidth) / 2);

...

// namjestimo CSS
wrapper.style.top = cssTop+'px';
wrapper.style.left = cssLeft+'px';

Bacaka se po ekranu jer vjerojatno već imaš definiran neki DOCTYPE (original začudo radi bez problema, ali čim se smjesti u DOCTYPE okruženje - poludi :zub: ). BTW, FF zahtijeva da se definira mjerna jedinica ‘px’, što je kolega propustio učiniti [SIZE=“1”]shame on you[/size] :stuck_out_tongue:

Je kolega je propustio svašta :slight_smile: [size=4]al’ je otprilike računao da će mamica uskočit : )[/size]. Ah, okrivit ću normalni notepad :slight_smile: nemre tak čovjek radit :smiley:

e mamice svaka ti dala, hvala obojici.
Jedino sad nesto validacija steka, kao ne smije

document type does not allow element “a” here

u

…at_hide(’’+objID+’’);return false;"><img style="z-index:80;position:absolut

ima li tome ljeka?

Hvala

Probaj ovako:

function float_show(objWidth, objHeight, objSrc, objID) {
  
  // spremimo sirinu i visinu ekrana
  var scrHeight = screen.height;
  var scrWidth = screen.width;

  // izracunamo poziciju
  var cssTop = Math.round((scrHeight - objHeight) / 3);
  var cssLeft = Math.round((scrWidth - objWidth) / 2);

  // stvorimo DIV
  var wrapper = document.createElement('div');

  // postavimo mu ID
  wrapper.setAttribute('id', objID);

  // namjestimo CSS
  wrapper.style.zIndex = 50;
  wrapper.style.position = 'absolute';
  wrapper.style.top = cssTop+'px';
  wrapper.style.left = cssLeft+'px';

  // umetnemo i sadrzaj
  wrapper.innerHTML = objSrc;

  // umetnemo DIV
  document.body.appendChild(wrapper);
  
  // gumb link
  gLink = document.createElement('a');
  gLink.setAttribute('href', '#');
  gLink.setAttribute('id', 'link');
  gLink.setAttribute('onclick', 'float_hide(\''+objID+'\');return false;');
  document.getElementById(objID).appendChild(gLink);

  // gumb za ugasit, jedan tipicni
  // prvo slika, g ko prefiks za gumb :)
  gSlika = document.createElement('img')
  gSlika.setAttribute('src', 'http://dryicons.com/images/icon_sets/blue_velvet/png/16x16/close.png');
  gSlika.setAttribute('style', 'z-index:80;position:absolute;left:'+(objWidth - 20)+'px;top:5px;');
  document.getElementById('link').appendChild(gSlika);

  // prikazemo
  wrapper.style.display = 'block';

}
function float_hide(objID) {

  // dohvatimo
  var obj = document.getElementById(objID);

  // sakrijemo
  obj.style.display = 'none';

  // maknemo sadrzaj DIV-a
  obj.innerHTML = '';  

}

super skoro sad samo u samom baneru
float_show(500, 300, ‘’, ‘reklama’)

document type does not allow element “a” here

<img src="http://www.net.hr/2008/11/26/

U IE baca gumb pokraj slike i ne gasi je …
Hvala

Umjesto ovoga
gSlika.setAttribute(‘style’, ‘z-index:80;position:absolute;left:’+(objWidth - 20)+‘px;top:5px;’);
probaj ovo
gSlika.style.zIndex = 80;
gSlika.style.position = ‘absolute’;
gSlika.style.top = ‘5px’;
gSlika.style.left = (objWidth - 20)+‘px’;
gSlika.style.border = ‘0 none’;
Meni radi u FF i IE6.

@mamica
ja sam probao i onaj x mi stoji skroz desno ni blizu slike,a kad kliknem na njega ne zatvara sliku. Probao sam sa IE 7 , frend sa IE6. Ista prica i sa FF i Operom

evo ja sam stavio ovo:

<script type="text/javascript">
function float_show(objWidth, objHeight, objSrc, objID) { 
 
  // spremimo sirinu i visinu ekrana 
  var scrHeight = screen.height; 
  var scrWidth = screen.width; 

  // izracunamo poziciju 
  var cssTop = Math.round((scrHeight - objHeight) / 3); 
  var cssLeft = Math.round((scrWidth - objWidth) / 2); 

  // stvorimo DIV 
  var wrapper = document.createElement('div'); 

  // postavimo mu ID 
  wrapper.setAttribute('id', objID); 

  // namjestimo CSS 
  wrapper.style.zIndex = 50; 
  wrapper.style.position = 'absolute'; 
  wrapper.style.top = cssTop+'px'; 
  wrapper.style.left = cssLeft+'px'; 

  // umetnemo i sadrzaj 
  wrapper.innerHTML = objSrc; 

  // umetnemo DIV 
  document.body.appendChild(wrapper); 
 
  // gumb link 
  gLink = document.createElement('a'); 
  gLink.setAttribute('href', '#'); 
  gLink.setAttribute('id', 'link'); 
  gLink.setAttribute('onclick', 'float_hide(\''+objID+'\');return false;'); 
  document.getElementById(objID).appendChild(gLink); 

  // gumb za ugasit, jedan tipicni 
  // prvo slika, g ko prefiks za gumb :) 
  gSlika = document.createElement('img') 
  gSlika.setAttribute('src', 'http://dryicons.com/images/icon_sets/blue_velvet/png/16x16/close.png'); 
 gSlika.style.zIndex = 80;
gSlika.style.position = 'absolute';
gSlika.style.top = '5px';
gSlika.style.left = (objWidth - 20)+'px';
gSlika.style.border = '0 none';
  document.getElementById('link').appendChild(gSlika); 
  

  // prikazemo 
  wrapper.style.display = 'block'; 

} 
function float_hide(objID) { 

  // dohvatimo 
  var obj = document.getElementById(objID); 

  // sakrijemo 
  obj.style.display = 'none'; 

  // maknemo sadrzaj DIV-a 
  obj.innerHTML = '';   

}
</script>

i baner u body

<script type="text/javascript">
window.onload = function() {
  float_show(500, 300, '<a href="http://www.moja-aukcija.com"><img src="http://www.net.hr/2008/11/26/0493007.20.gif" border="0" alt="" title=""/></a>', 'reklama');
}
</script>

spominjao si DOCTYPE okruzenje, sta tocno mislis? osim

nemam nigdje nista drugo definirano

Ufff… još malo sitnih ispravaka.

Umjesto
gLink.setAttribute(‘onclick’, ‘float_hide(’’+objID+’’);return false;’);
stavi
gLink.onclick = function(){float_hide(objID); return false;}
IE se ne ponaša dobro [SIZE=“1”](no shit sherlock!)[/size] kada se elementu pridaje nekakvo dinamičko obilježje.

Ovo možeš maknuti
// prikazemo
wrapper.style.display = ‘block’;
jer sam izmijenio način na koji se element skriva - sada se uklanja iz DOM-a bez CSS modela block-none. Prema tome, ova funkcija je promijenjena
function float_hide(objID) {
// dohvatimo
var obj = document.getElementById(objID);
// maknemo dohvaceni element
obj.parentNode.removeChild(obj);
}
A sve se poziva ovako

Kao što vidiš, element oko slike nije potreban. BTW, ovdje imamo nekih nedosljednosti jer istodobno koristimo i createElement i innerHTML metode. Potonja je zastarjela, ali se i brže izvršava (tu prestajem biti pametnjaković :stuck_out_tongue: ). Alternativa bi bila:

  • sve kreirati kroz innerHTML: manji kôd, puno HTML-a gdje mu nije mjesto
  • sve kreirati kroz createElement: veći kôd, potrebno više optimizacije (i predznanja)

Blah, idem po kafu.

Mah, znam da mi je puno puta bacalo error kada bi pisao HTML kao innerHTML (ono, “link”), očito da to validator ne voli.

Tako da vjerojatno zbog tog izbacuje error (kod dodavanja kôda), a ako se izbaci tag gubi se funkcionalnost. Sada jedino da se isto createElement sve stvori, pa ugradi ?

odlicno, micemo se. Znaci samo baner sam ostaje, ovako kako sad stoji smeta mu img tag.
Ako ga stavim onako kao sto sam gore sa onda ga razbaca po ekranu.
Jer ima tome pomoci, tj kako napraviti link na slici(baneru )?
Jer bi se sve to izbjeglo kad bi se umjesto slike ubacio flash baner u kojemu AC vec unutra, pa nebi validator serkao?
Hvala, stvarno ste maheri.

PS mamica a u sta se NE kuzis :slight_smile: ?

[SIZE=“1”]Ma kužim se ja u sve, samo nikako ne mogu napraviti biskvit za tortu :smiley: :D[/size]

Uglavnom, nakon izmjena MMov kôd mi radi dobro u oba preglednika (quirks, HTML loose & XHTML transitional). Imaš li još neki JS uz ovo? Ako ti ne radi, možda je došlo do kakvog sukoba?