Witam, zrobiłem sobie używając javascript "wysuwke" która się wysuwa po najechaniu i wypełnia tekstem przez ajaxa, w tym tekscie jest też link z zdarzeniem onclick które czasami wykonuje się za pierwszym razem a czasami za 10

js
function l(e,c,t) {
if(e.addEventListener)e.addEventListener(c, function(){t(e)}, false);
else e.attachEvent('on' + c, function(){t(e)}); // IE
}
function sf(e,s) {
var id = e.getAttribute('id');
var t = false, // typ animacji, true -> wysuń, false -> wsuń
ps = 20, // pozycja początkowa
pk = 250, // pozycja końcowa
i, // interwał
p, // pozycja aktualna
d = e; // docelowy element przesuwany
if(!s)s=150; // domyslnie animacja ma się zmieścić w 150 ms
d.style.width = ps;
// aktywuj wsuwanie / wysuwanie
var a = function(n){
t = n;
if(!i) {
i = setInterval(function(){ // ustaw interwał (stoper)
p = parseInt(d.style.width);
if(t) {
// wysuń
if(p < pk) {
p += pk - p >2 ? 3 : pk - p; // przesuwamy co 3px (mniej obciąża przeglądarki niż 1px)
d.style.display = 'block';
d.style.width = p + 'px';
} else {
clearInterval(i); // czyścimy interwał
i = null;
}
if(p>=pk) { wstaw('koszyk','koszyk'); }
}
if(!t) {
// wsuń
var dok = document.getElementById('koszyk');
if(p > ps) {
p -= p - ps >2 ? 3 : p - ps;
d.style.width = p + 'px';
} else {
clearInterval(i);
i = null;
}
}
},Math.round(s/(pk-ps)*3)); // liczymy co ile milisekund ma się wykonywać przesunięcie, aby zmieścił się w @s sekund
}
};
l(e,'mouseover',function(){a(true)});
l(e,'mouseout',function(){a(false)});
}
eval(function(p,a,c,k,e,d){e=function(c){return c.toString(36)};if(!''.replace(/^/,String)){while(c--){d[c.toString(a)]=k[c]||c.toString(a)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('o e(a,5,4){7(5==8)5=c;7(4==8)4=\'*\';2 6=h k();2 3=5.l(4);2 b=" "+a+" ";n(i=0,j=0;i<3.d;i++){2 9=" "+3[i].f+" ";7(9.m(b)!=-1)6[j++]=3[i]}g 6}',25,25,'||var|tags|tagName|domNode|el|if|null|test|searchClass|tcl|document|length|getEl
ementsByClass|className|return|new|||Array|getElementsByTagName|indexOf|for|funct
ion'.split('|'),0,{}))
function getXMLHttpRequest()
{
var request = false;
try {
request = new XMLHttpRequest();
} catch(err1) {
try {
request = new ActiveXObject('Msxml2.XMLHTTP');
} catch(err2) {
try {
request = new ActiveXObject('Microsoft.XMLHTTP');
} catch(err3) {
request = false;
}
}
}
return request;
}
var kom;
kom = getXMLHttpRequest();
var gdzie;
function processResponse()
{
if (kom.readyState == 4) {
if (kom.status == 200) {
a = document.getElementById(gdzie);
a.innerHTML = kom.responseText;
}
}
}
function wstaw(co,id) {
kom.open('GET', 'pliczek.php?id='+co, true);
gdzie = id;
kom.onreadystatechange = processResponse;
kom.send(null);
}
pliczek.php
<?php session_start();
if($_GET['id']=='koszyk' && $_SESSION['login']) { ?>
<a href="#" onclick="alert('raz');">Przejdź do koszyka
</a><br/> Identyfikator sesji :
<?php echo $_SESSION['login']; ?> <br/><?php } ?>
Yes.