Pozitionare la imagine..

Secţiune dedicată începatorilor.

Moderatori: Moderatori, Start Moderator

Avatar utilizator
Khamoaset
Average Member
Mesaje: 160
Membru din: Joi Iul 21, 2011 4:29 pm
Contact:

Pozitionare la imagine..

Mesajde Khamoaset » Joi Dec 26, 2013 12:03 am

Salutare!
Am incercat sa fac o pozitie pentru imagine prin click, dar nu-mi iese pozitia calculata la colturi sa nu depaseasca de 'width' si 'height' sau valori mai mici de zero la 'left','top','right' si 'bottom'.. Cum fac sa nu mai depaseasca pozitia id("wm_viewer") din interiorul lui id("image_image") de valoarea maxima sau valoare mai mica de zero la colturi cele patru ?

de exemplu: clickez in coltul de jos intre right si bottom... imi depaseste top-ul pozitiei id("wm_viewer") adica se vede.. iar la fel si in sus right-top depaseste de valoare zero cu negativ..

Cod: Selectaţi tot

<script src="/1.9.1.jquery.js"></script>
<script src="/1.10.3-ui-jquery.js"></script>
<script type="text/javascript">
$(function(){

   $("#image_image").click(function(event){
      var El = $("#wm_viewer");
      var elem = $(this);
      var f = '';
      var x = event.clientX;
      var y = event.clientY;
      var tox = x - (parseInt(30)); //left
      var toy = y - (parseInt(30)); //top


      if(x > 390 || tox > 390){
         El.css({
            'left':(parseInt(elem.css('width'))-parseInt(El.css('width')))+'px',
            'top':toy+'px'
         });
         f = ('hmm la right');
      } else
      if(y > 390 || toy > 390){
         El.css({
            'left':tox+'px',
            'top':(parseInt(elem.css('height'))-parseInt(El.css('height')))+'px',
            'bottom':'0px'
         });
         f = ('hmm la bottom');
      } else
      if(x < 0 || tox < 0){
         El.css({
            'left':'0px',
            'top':toy+'px'
         });
         f = ('hmm la left depasire de minus zero');
      } else
      if(y < 0 || toy < 0){
         El.css({
            'left':tox+'px',
            'top':'0px'
         });
         f = ('hmm la top depasire de minus zero');
      } else
      if(x > 0 || tox > 0 || y > 0 || toy > 0){
         El.css({
            'left':tox+'px',
            'top':toy+'px'
         });
      }

      $('.tctt').html(f);

   });

});
</script>
<style type="text/css">
#image_image {
   border:1px solid black;
   width:400px;
   height:400px;
   position:relative;
}
#wm_viewer {
   border:1px solid red;
   width:40px;
   height:40px;
   position:absolute;
}
</style>
<div class="tctt"></div>
<div id="image_image">
   <div id="wm_viewer">

   </div>
</div>


"`"Atata timp cat putem zambi, cauza nu-i inca pierduta!"`"

'*'`Nimic nu este mai presus pe Pamant decat OMUL, nimic nu este mai presus in OM decat MINTEA si SUFLETUL!`'*'

Avatar utilizator
Birkoff
Senior Member
Mesaje: 6380
Membru din: Joi Mar 18, 2004 2:34 pm
Localitate: Bucuresti
Contact:

Re: Pozitionare la imagine..

Mesajde Birkoff » Joi Dec 26, 2013 1:44 am

daca am inteles eu bine ce vrei, algoritmul pe care trebuie sa il urmezi ar fi urmatorul:

1) stabilesti in js pozitia imaginii pe ecran (coordonatele x si y + max x si max y) (relativ de la coltul 0x0 al ecranului ca sa fie ok calculul cu pozitia mouse-ului)
2) detectezi pozitia mouse-ului pe ecran si verifici daca pozitia este intre coordonatele pozei (de la punctul 1)
- daca e in coordonatele pozei, verifici pe ce zona din poza a dat click si faci ce actiune ai nevoie
- daca e in afara coordonatelor pozei, nu faci nimic (ignori click-ul sau faci alta actiune).

Cred ca asta vrei de fapt.
Sunt curios, ce vrei tu se aplica si la un joc online, daca nu e secret la ce iti trebuie?
1) CMS, ERP, CRM, etc... (doar pentru clienti))
2) Portofoliu, servicii, contact, blog
3) Folositi aceasta clasa sql in proiectele voastre (open source)
4) Vrei un magazin virtual la cheie, usor de folosit, cu api-uri incluse pentru maximizarea vanzarilor si multe alte facilitati? Da un semn si discutam.

Avatar utilizator
Khamoaset
Average Member
Mesaje: 160
Membru din: Joi Iul 21, 2011 4:29 pm
Contact:

Re: Pozitionare la imagine..

Mesajde Khamoaset » Vin Dec 27, 2013 5:37 pm

Salut.. nu ma ajuta nimeni cu pozitionare la calcul de restrictie top, left, right si bottom ptr #wm_view ???
"`"Atata timp cat putem zambi, cauza nu-i inca pierduta!"`"



'*'`Nimic nu este mai presus pe Pamant decat OMUL, nimic nu este mai presus in OM decat MINTEA si SUFLETUL!`'*'


Înapoi la “PHP Incepători”

Cine este conectat

Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 47 vizitatori