2009-12-11 3 views
0

나는 "span.display_value"JQuery와

var rightStyleValue = $('div.slider').css('right'); 
    alert(rightStyleValue); 
    $('.display_value').html(rightStyleValue); 

의 내부를 표시, "슬라이더"라는 사업부의 "오른쪽"값을 표시하기 위해 노력하고있어와 사업부의 '권리'스타일을 표시

업데이트 : Html이 아래에 게시됩니다. 나는 "컨테이너"라는 div 안에있는 "슬라이더"라는 div를 끌어서 놓는 드래그 앤 드롭 스크립트를 사용하고 있습니다. div "slider"의 "right"속성이 45px에 도달하면 (이상적으로 사용자가 "slider"를 부모 "container"의 오른쪽으로 드래그 할 때) "할 일"을 갖기를 원합니다.

지금은 페이지가로드 될 때 CSS에 특별히 설정된 값을 표시합니다 : "오른쪽 : -10". 그래서 그것을 한 번 표시 할 수 있지만 "슬라이더"div 표시 값을 업데이트하는 방법을 잘 모르겠습니다.

어디에 넣어야할지 모르겠다. $ ('. display_value') .html (rightStyleValue); 그것을 지속적으로 업데이트시켜야합니다. 당신이 css 메서드 호출 후 여분의 팔 보호구을 가지고있는 것처럼


<head> 
    <style> 
     div.container { 
     height:15px; 
     width:200px; 
     overflow:hidden; 
     background-color:#858585; 
     } 

     div.slider { 
     height:15px; 
     width:20px; 
     background-color:#000; 
     position:relative; 
     right:-10px; 
     } 
    </style> 

<script type="text/javascript" src="js/jquery.js"></script> 
<script type="text/javascript" src="js/easing.js"></script>  
<script type="text/javascript" src="js/dragcopy.js"></script> 



<script> 

    $().ready(function() { 
     $('.slider').jqDrag(); 

     $('.slider') 
     .jqDrag(); 
    }); 

    $(document).ready(function() { 

     var rightStyleValue = $('div.slider').css('right'); 
     alert(rightStyleValue); 
    $('.display_value').html(rightStyleValue); 

    $(".slider").mousedown(function() { 
     if ($('.slider').css('right') == -8 + "px") { 
       $('.container').fadeOut('slow'); 
     } 

    }); 
    }); 




    </script> 

</head> 
<body> 




    <div class="container"> 
     <div class="slider"> 

     </div> 
    </div> 
    <p>slider right:<span class="display_value"> </span></p> 




</body> 

답변

1

@Ivan Nevostruev가 맞다고 생각합니다. 다른 논리적 인 단계를 제안하십시오. 문제 코드는 올바른 스타일 값을 가져 와서 다른 요소로 설정하는 두 가지 작업을 수행합니다. 당신은 당신이 더 아래로 그것을 깰 수있는 문제의 원인이되는 행동 알면 시험은에 의해, 그리고

var rightStyleValue = $('div.slider').css('right'); 
alert(rightStyleValue); 

$('span.display_value').val(rightStyleValue); 

:

당신은 당신의 오류, 즉 원인이되는 찾기 위해 두 개의 별도의 단계를 다음을 분해한다 선택기가 작동합니다 (예 :

alert($('div.slider')); 

결과가 null이거나 정의되지 않은 경우 선택기에 문제가있는 것입니다.

@Ivan이 맞을지 모르지만 html을 보지 않으면 문제가 될 수 있습니다. 그것을 깨면 항상 도움이됩니다.

+0

코드가 작동했습니다. 이전에 .val을 사용하고 있었고 .html로 변경 했으므로 작동했습니다. (텍스트도 작동 함). 하지만 슬라이더에 마우스를 올려 놓으면 표시되는 값이 바뀌지 않습니다. 나는 당신이 준 코드를 mousedown 이벤트에 넣었지 만, 당신이 준 코드가 모두 mousedown 이벤트에 있었음에도 불구하고 표시된 숫자는 업데이트되지 않았습니다. 나는 그것이 mousedown 할 때마다 새로운 CSS의 "올바른"가치를 보여 주어야한다고 생각 하겠지만 그렇게하지는 않습니다. 어떤 제안? – ExodusNicholas

0

보인다. 또한 valtext으로 대체되어야한다고 생각합니다. 여기 예가 있습니다 :

$('span.display_value').text($('div.slider').css('right')); 
+0

여전히 작동하지 않습니다. 올바른 구문입니까? – ExodusNicholas

+0

'val'을'html'로 바꾸십시오. –

+1

또한 val을 text ($ ('div.slider'). css ('right'))로 바꾸십시오. 단지 css이기 때문입니다. 그게 작동하지 않으면 $ ('span.display_value'). length 및 $ ('div.slider'). css ('right')에 경고합니다. –

2
$('span.display_value').text($('div.slider').css('right')); 

사용는 .text (X) 또는 .html하지() 또는 .val()