Autor | Zpráva | ||
---|---|---|---|
pepan6 Profil * |
#1 · Zasláno: 1. 4. 2013, 17:38:47
Ahoj, nasel sem na netu kód ktery zobrazí koordináty kdyz se prejede pres text "the lazy dog". Zkousel sem to opravit tak aby se kordináty zobrazili kdyz prejedu mysi pres cely ten cerveny div ale nemuzu prijit na to jak to udelat.
* mam na mysli takove to oznaceni jak kdyz v nejakem obrazkovem editoru oznacite na obrazku oblast ktera se ma vyriznout ven,.. tak pro tuto oblast se snazim dostat ven souradnice v zavislosti k parent divu tzn. ne offset k oknu prohlizece. Nasel sem taky uz hotovy jquery plugin ktery to umi, ale nemeri souradnice v zavislosti na parent divu ale k oknu prohlizece a taky nefunguje na obrazky ktere jsou do stranky vkladany dynamicky: http://deepliquid.com/projects/Jcrop/demos.php?demo=handler Diky <html><head> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script> <script> var $div; var last; function find() { var selection = window.getSelection(); var text = selection.toString(); if (last==text) return; else last=text; // prevent needless computations if no changes to selection if (selection.rangeCount==0) return; var range = selection.getRangeAt(0); var $span= $("<span/>"); newRange = document.createRange(); newRange.setStart(selection.focusNode, range.endOffset); newRange.insertNode($span[0]); // using 'range' here instead of newRange unselects or causes flicker on chrome/webkit var x = $span.offset().left; var y = $span.offset().top; $div.text(x+" "+y); $div.css({left:x,top:y+($div.height())}); $span.remove(); } $(window).load(function() { $("body").keydown(function(e) { //find(); setTimeout(find,0); }); $("body").mousemove(function(e) { //find(); setTimeout(find,0); }); $div=$("<div style='border:1px solid red;background:white; position:absolute;'>").appendTo($("body")); }); </script> </head> <body> <style> #parent_div { width: 80%; margin: 0px auto; text-align:center; border:1px solid black; padding-left:100px; } </style> <div id="parent_div"> <div style="width:500px; height:500px; background-color:#FF0000">the lazy dog</div> </div> </body> </html> |
||
Časová prodleva: 5 dní
|
|||
Chamurappi Profil |
#2 · Zasláno: 6. 4. 2013, 14:48:40
Reaguji na pepana6:
Řekl bych, že zde uvedený skript dělá něco dost jiného, než popisuješ v textu. Zjišťuje pozici myší označeného obrázku, tedy celého, označeného třeba i společně s textem. Kdybys chtěl označovat výřez, nepotřebuješ pracovat s Range , ale s pozicí kurzoru myši. Tedy s event.clientX a event.clientY . Souřadnice budou vzhledem k ploše prohlížeče, ale to není zase takový problém, protože od nich můžeš odečíst pozici elementu.
|
||
Časová prodleva: 11 let
|
0