18 Mart 2015, 14:45 | #1 | |
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0) | Sürükle-bırak Bir tane daha büyük merak konusu javascript de burada. Hepimiz sürükle-bırak tabakaların nasıl çalıştığını merak etmişizdir. gördüğünüz gibi gayet kolay. Yapmanız gereken birinci text-area'daki kodu sayfanızın <HEAD></HEAD> etiketleri arasına yerleştirmek. Sonra ikinci text-area'daki kodu ise <BODY>etiketinden sonra yerleştirmek. Biraz alıştırma ve sabır ile tabakaların yerinide değiştirebilirsiniz. Kod: ********* #divDrag0{position:absolute; left:0; top:0; height:200; width:200; clip:rect(0,200,200,0); background-color:silver; layer-background-color:silver} #divDrag1{position:absolute; left:0; top:0; height:200; width:200; clip:rect(0,200,200,0); background-color:blue; layer-background-color:blue} #divDrag2{position:absolute; left:0; top:0; height:100; width:100; clip:rect(0,100,100,0); background-color:green; layer-background-color:green} </style> <script language="JavaScript1.2"> /************************************************** ****************************** Copyright (C) 1999 Thomas Brattli This script is made by and copyrighted to Thomas Brattli at [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] Visit for more great scripts. This may be used freely as long as this msg is intact! ************************************************** ******************************/ //Browsercheck, and sets <div> for ie, and <layer> for ns var n = (********.layers) ? 1:0; var ie = (********.all) ? 1:0; var layer=(n)?'layer':'div' /************************************************** ****************************** Object constructor part. Setting the objects methods and properties ************************************************** ******************************/ function dragObj(obj,nest){ nest=(!nest) ? '':'********.'+nest+'.' this.css=(n) ? eval(nest+'********.'+obj):eval('********.all.'+ob j+'.style') this.evnt=(n)? eval(nest+'********.'+obj):eval(obj); this.getLeft=b_getLeft; this.getTop=b_getTop; this.moveIt=b_moveIt; this.name=obj return this } function b_moveIt(x,y){ this.css.left=x this.css.top=y } function b_getLeft(){ x=(n)? this.css.left:this.css.pixelLeft return x } function b_getTop(){ y=(n)? this.css.top:this.css.pixelTop return y } /************************************************** ****************************** Capturing events, when the user mouseovers a layer the variable/property of that layer names .isOver will be true, and that means if the user clicks when he is on top of that layer it becomes draggable ************************************************** ******************************/ function dragInit(){ if(n) ********.captureEvents(Event.MOUSEMOVE | Event.MOUSEDOWN | Event.MOUSEUP) ********.onmousedown=mdown ********.onmouseup=mup ********.onmousemove=mmove; } function mmover(num){ if(loaded) oDrag[num].isOver=true } function mmout(num){ if(loaded) oDrag[num].isOver=false } function mup(){ for(var i=0; i<oDrag.length;i++){ if(oDrag[i].isOver) { oDrag[i].drag=false } } } function mdown(num){ x=(n)?num.pageX:event.x y=(n)?num.pageY:event.y for(var i=0; i<oDrag.length;i++){ if(oDrag[i].isOver) { oDrag[i].drag=true oDrag[i].clickedX=x-oDrag[i].getLeft() oDrag[i].clickedY=y-oDrag[i].getTop() cZIndex++ oDrag[i].css.zIndex=cZIndex } } } function mmove(e){ x=(n)?e.pageX:event.x y=(n)?e.pageY:event.y for(var i=0; i<oDrag.length;i++){ if(oDrag[i].drag) oDrag[i].moveIt(x-oDrag[i].clickedX,y-oDrag[i].clickedY) } } /************************************************** ****************************** Init, here's where you set how many draggable layers you want. Make one more "Drag[3]=new dragObj('divDrag3')" and as i did here, ++ the number to add draggable layers. You also have to add them in the stylesheet (in the *********</style>) To make another one that's sized 100*200 and with a background-color of red add this: #divDrag3{position:absolute; height:100; width:200; clip:rect(0,200,100,0); background-color:red; layer-background-color:red} Get the picture? There's one more thing you have to do to add layers, look further down for explanation. ************************************************** ******************************/ var loaded; function init(){ dragInit() oDrag=new Array() oDrag[0]=new dragObj('divDrag0') oDrag[1]=new dragObj('divDrag1') oDrag[2]=new dragObj('divDrag2') loaded=true; } /************************************************** ****************************** Set this variable to the zIndex you want it to start at, (if you have several layers and want it to start on the top, change to somthing higher then the uppermost layer ************************************************** ******************************/ cZIndex=10 //Inits the page on page load if(n || ie) onload=init; </script> Aşağıdaki kodu <BODY> etiketinden sonra yerleştireceksiniz. <!-- content start --> <script language="JavaScript1.2">********.write('<'+layer+ ' id="divDrag0" onmouseover="mmover(0)" onmouseout="mmout(0)">')</script> <!--Büyük tabakanin mesaji buradan değişir -->Benim başım kel mi??! <script language="JavaScript1.2">********.write('</'+layer+'>')</script> <script language="JavaScript1.2">********.writeln('<'+laye r+' id="divDrag1" onmouseover="mmover(1)" onmouseout="mmout(1)">')</script> <!--Orta boy tabakanin mesaji buradan değişir-->Beni de sürükle buradan! <script language="JavaScript1.2">********.writeln('</'+layer+'>')</script> <script language="JavaScript1.2">********.writeln('<'+laye r+' id="divDrag2" onmouseover="mmover(2)" onmouseout="mmout(2)">')</script> <!--Küçük tabakanin mesaji buradan değişir -->Hadi Sürükle Beni!! <script language="JavaScript1.2">********.writeln('</'+layer+'>')</script>
__________________ SusKun ve Sessiz Mürekkep... Kullanıcı imzalarındaki bağlantı ve resimleri görebilmek için en az 20 mesaja sahip olmanız gerekir ya da üye girişi yapmanız gerekir. | |
|
Etiketler |
sürüklebırak |
Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir) | |
| |
Benzer Konular | ||||
Konu | Konuyu Başlatan | Forum | Cevaplar | Son Mesaj |
sürükle bırak div yapmak draggable | hAte | HTML/CSS/JavaScript | 0 | 03 Kasım 2014 07:58 |
Facebook'ta Sürükle-Bırak | Zen | Facebook Haberleri | 0 | 24 Aralık 2012 17:03 |
Sürükle Bırak | Cemalizim | Visual Basic | 0 | 21 Temmuz 2008 19:23 |