• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
نمایش یک پنجره در مختصات موس
#1
برنامه به این صورت نوشته شده که اگر نام کلاسی که موس روی ان قرار دارد show بود یک پنجره را در مختصات موس نمایش دهد .

تا موقتی صفحه اسکرول نخورده برنامه درست عمل می کنه اما وقتی صفحه اسکرول می خورد وتگ شامل کلاس show پایین صفحه قرار می گیرد مختصات را از ابتدلای محل نمایش داده شده در پنجره ب می گرداند نه از بالای صفحه بنابر این شی که باید نمایش داده شود در محلی اشتباه نمایش داده می شود .

حالا می خواستم ببینم راهی وجود داره تا مختصات از بالای صفحه محاسبه شود .

کد به صورت زیر می باشد .

کد پی‌اچ‌پی:
<style>
#box_descrip{
    
height:200px;
    
background:#CCC;
    
padding:15px 10px;
    
width:200px;
    
opacity:0.7;
    
filteralpha(opacity=70);
    
position:absolute;
    
color:#06F;

    
display:none;
    
}
</
style>

<
script type="text/javascript">
    var 
curobj,x=0,y,t,l
    
document.onmousemove=move;
    function 
move(evt)
    {
//        x++;
        
evt=evt?evt:event
        target
=evt.target?evt.target:evt.srcElement;
        
        
/*        
        {
        for(a in target)
        {
                $('hhh').innerHTML+=a+"<br/>";
        }

*/
        
if (target.className=='show'){
              $(
'box_descrip').style.display='block';
           $(
'box_descrip').style.top=evt.clientY+"px";
           $(
'box_descrip').style.left=evt.clientX+"px";
           
alert(target.style.width);
           
//alert(curobj.innerHTML);
           //document.onmousemove=drag    
        
}
    }
    function $(
id){return document.getElementById(id)}
/*
            $('box_descrip').style.left= e.clientX+"px";
            
            $('box_descrip').style.top = e.clientY +"px";
            
        $('box_descrip').style.display='none';
    
*/
</script>
<
div id="box_descrip">show</div
  پاسخ
تشکر شده توسط :
#2
کسی در این مورد نمی تونه کمکم کنه .
  پاسخ
تشکر شده توسط :
#3
مقدار position رو با fixed یا realtive امتحان کنید
  پاسخ
تشکر شده توسط : php
#4
این رو مطالعه کنید..بهتون ایده میده
http://codylindley.com/webdev/295/javasc...ith-scroll
  پاسخ
تشکر شده توسط : php
#5
هم از صالح عزیز و هم از پروانه خانم ممنونم مشکلم حل شد .


اینم تابعی که برای این کار پیدا کردم .

کد پی‌اچ‌پی:
function getScrollXY() {
  var 
scrOfX 0scrOfY 0;
  if( 
typeofwindow.pageYOffset ) == 'number' ) {
    
//Netscape compliant
    
scrOfY window.pageYOffset;
    
scrOfX window.pageXOffset;
  } else if( 
document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
    
//DOM compliant
    
scrOfY document.body.scrollTop;
    
scrOfX document.body.scrollLeft;
  } else if( 
document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
    
//IE6 standards compliant mode
    
scrOfY document.documentElement.scrollTop;
    
scrOfX document.documentElement.scrollLeft;
  }
  return [ 
scrOfXscrOfY ];


توضیحات بیشتر رو می تونین در ادرس خود سایت بخونین

http://www.howtocreate.co.uk/tutorials/j...wserwindow

یه تشکر ویژه هم از پروانه خانم , کلمات کلیدی که توی لینک اموزشی شون بود خیلی تو جستجو کمکم کرد .
  پاسخ
تشکر شده توسط : zoghal parvane


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان