Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: onclick, Объеденить ссылку и переменную
 
 автор: tima2010   (25.02.2010 в 17:47)   письмо автору
 
 

есть переменная: id
и есть ссылка
i.onclick="location.href='page.php='";

как можно id вставить в ссылку?
типа такого
i.onclick="location.href='page.php=id'";
но при таком случае id перестает быть переменной ..

?

  Ответить  
 
 автор: sim5   (25.02.2010 в 18:09)   письмо автору
 
   для: tima2010   (25.02.2010 в 17:47)
 

Ну еще бы, где же вы видели, чтобы в url переменные через знак равно прописывались?
page.php?id=value.
И нужно менять значение атрибута объекта, а не такую аброкадабру писать, как у вас.

  Ответить  
 
 автор: tima2010   (25.02.2010 в 18:11)   письмо автору
 
   для: sim5   (25.02.2010 в 18:09)
 

опечатался, ссори

ссылка
i.onclick="location.href='page.php?id='";

как можно id вставить в ссылку?
типа такого
i.onclick="location.href='page.php?id=id'";

  Ответить  
 
 автор: tima2010   (25.02.2010 в 18:19)   письмо автору
 
   для: tima2010   (25.02.2010 в 18:11)
 

ответил сам себе
i.onclick="location.href='page.php?id='+id";
НО работает только в опере :(((((((((((((((

  Ответить  
 
 автор: Lelik   (25.02.2010 в 18:50)   письмо автору
 
   для: tima2010   (25.02.2010 в 18:19)
 

ну потому что херь написана:

i.onclick= function(){
  location.href='page.php?id='+id;
  //id должна быть глобальной переменной
}


и вот здарвая мысь:
"И нужно менять значение атрибута объекта, а не такую аброкадабру писать, как у вас."

i.onclick= function(){
  i.setAttribute('href', 'page.php?id='+id);
  //id && i должна быть глобальной переменной
}

  Ответить  
 
 автор: tima2010   (25.02.2010 в 19:21)   письмо автору
 
   для: Lelik   (25.02.2010 в 18:50)
 

Ололо! Лёлик спасибо, заработал этот вариант:

i.onclick= function(){ 
  location.href='page.php?id='+id; 
  //id должна быть глобальной переменной 
}

  Ответить  
 
 автор: Lelik   (25.02.2010 в 19:29)   письмо автору
 
   для: tima2010   (25.02.2010 в 19:21)
 

ну этот вариат - это вариации на тему инусского кода, лучше второй заставить работать :)

  Ответить  
 
 автор: tima2010   (25.02.2010 в 22:12)   письмо автору
 
   для: Lelik   (25.02.2010 в 19:29)
 

только вот понять теперь не могу почему ID воспринимает только цифры!!! ((( а нужно чтобы и буквы и цифры принмиал:

var slideShow=function(){
    var bxs,bxe,fxs,fxe,ys,ye,ta,ia,ie,st,ss,ft,fs,xp,yp,ci,t,tar,tarl;
    ta=document.getElementById(thumbid); ia=document.getElementById(imgid);
    t=ta.getElementsByTagName('li'); ie=document.all?true:false;
    st=3; ss=3; ft=10; fs=5; xp,yp=0;
    return{
        init:function(){
            document.onmousemove=this.pos; window.onresize=function(){setTimeout("slideShow.lim()",500)};
            ys=this.toppos(ta); ye=ys+ta.offsetHeight;
            len=t.length;tar=[];
            for(i=0;i<len;i++){
                var id=t[i].value; tar[i]=id;
                t[i].onclick=new Function("slideShow.getimg('"+id+"')");
                if(i==0){this.getimg(id)}
            }
            tarl=tar.length;
        },
        scrl:function(d){
            clearInterval(ta.timer);
            var l=(d==-1)?0:(t[tarl-1].offsetLeft-(ta.parentNode.offsetWidth-t[tarl-1].offsetWidth)+10)
            ta.timer=setInterval(function(){slideShow.mv(d,l)},st);
        },
        mv:function(d,l){
            ta.style.left=ta.style.left||'0px';
            var left=ta.style.left.replace('px','');
            if(d==1){
                if(l-Math.abs(left)<=ss){
                    this.cncl(ta.id); ta.style.left='-'+l+'px';
                }else{ta.style.left=left-ss+'px'}
            }else{
                if(Math.abs(left)-l<=ss){
                    this.cncl(ta.id); ta.style.left=l+'px';
                }else{ta.style.left=parseInt(left)+ss+'px'}
            }
        },
        cncl:function(){clearTimeout(ta.timer)},
        getimg:function(id){
            if(auto){clearTimeout(ia.timer)}
            if(ci!=null){
                var ts,tsl,x;
                ts=ia.getElementsByTagName('img'); tsl=ts.length;x=0;
                for(x;x<tsl;x++){
                    if(ci.id!=id){var o=ts[x]; clearInterval(o.timer); o.timer=setInterval(function(){slideShow.fdout(o)},fs)}
                }
            }
            if(!document.getElementById(id)){
                var i=document.createElement('img');
                ia.appendChild(i);
                i.id=id; i.av=0; i.style.opacity=0;
                i.style.filter='alpha(opacity=0)';
                i.src=imgdir+'/'+id+imgext;
i.onclick= function(){ 
  location.href='page.php?id='+id; 
  //id должна быть глобальной переменной 
}
            }else{
                i=document.getElementById(id); clearInterval(i.timer);
            }
            i.timer=setInterval(function(){slideShow.fdin(i)},fs);
        },
        nav:function(d){
            var c=0;
            for(key in tar){if(tar[key]==ci.id){c=key}}
            if(tar[parseInt(c)+d]){
                this.getimg(tar[parseInt(c)+d]);
            }else{
                if(d==1){
                    this.getimg(tar[0]);
                }else{this.getimg(tar[tarl-1])}
            }
        },
        auto:function(){ia.timer=setInterval(function(){slideShow.nav(1)},autodelay*1000)},
        fdin:function(i){
            if(i.complete){i.av=i.av+fs; i.style.opacity=i.av/100; i.style.filter='alpha(opacity='+i.av+')'}
            if(i.av>=100){if(auto){this.auto()}; clearInterval(i.timer); ci=i}
        },
        fdout:function(i){
            i.av=i.av-fs; i.style.opacity=i.av/100;
            i.style.filter='alpha(opacity='+i.av+')';
            if(i.av<=0){clearInterval(i.timer); if(i.parentNode){i.parentNode.removeChild(i)}}
        },
        lim:function(){
            var taw,taa,len; taw=ta.parentNode.offsetWidth; taa=taw/4; 
            bxs=slideShow.leftpos(ta); bxe=bxs+taa; fxe=bxs+taw; fxs=fxe-taa;
        },
        pos:function(e){
            xp=ie?event.clientX+document.documentElement.scrollLeft:e.pageX; 
            yp=ie?event.clientY+document.documentElement.scrollTop:e.pageY;
            if(xp>bxs&&xp<bxe&&yp>ys&&yp<ye){
                slideShow.scrl(-1);
            }else if(xp>fxs&&xp<fxe&&yp>ys&&yp<ye){
                slideShow.scrl(1);
            }else{slideShow.cncl()}
        },
        leftpos:function(t){
            var l=0;
            if(t.offsetParent){
                while(1){l+=t.offsetLeft; if(!t.offsetParent){break}; t=t.offsetParent}
            }else if(t.x){l+=t.x}
            return l;
        },
        toppos:function(t){
            var p=0;
            if(t.offsetParent){
                while(1){p+=t.offsetTop; if(!t.offsetParent){break}; t=t.offsetParent}
            }else if(t.y){p+=t.y}
            return p;
        }
    };
}();

window.onload=function(){slideShow.init(); slideShow.lim()};

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования