0

我正在尝试显示名为“slider”的 div 的“正确”值,并将其显示在“span.display_value”中

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

更新: Html 发布在下面。我正在使用拖放脚本来拖动名为“slider”的 div,该 div 位于名为“container”的 div 内。当 div“滑块”的“正确”属性达到 45px 时,我想让它“做某事”(理想情况下,当用户将“滑块”一直拖到其父“容器”的右侧时)

现在,当页面加载时,它将显示我在 css 中专门设置的值:“Right:-10”。所以它会显示一次,但我不确定如何不断更新“滑块”div的显示值。

我不知道该放在哪里: $('.display_value').html(rightStyleValue); 让它不断更新。


<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>

4

3 回答 3

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

使用 .text(x),而不是 .html() 或 .val()

于 2009-12-11T22:32:36.627 回答
1

我认为@Ivan Nevostruev 是对的。只是建议另一个合乎逻辑的步骤。您的问题代码正在做两件事,获取正确的样式值并将其设置为另一个元素。

您应该将这些分解为两个单独的步骤,以找出导致错误的原因,即:

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

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

然后,一旦您知道哪个操作导致了问题,您就可以进一步分解它,通过测试您的选择器是否正常工作,即:

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

如果结果为 null 或未定义,那么您的选择器有问题。

@Ivan 可能是对的,但是如果没有看到您的 html,可能会出现很多问题。打破它总是对我有帮助。

于 2009-12-11T22:28:40.513 回答
0

看起来你在css方法调用后有额外的括号。我也认为val应该替换为text. 这是示例:

$('span.display_value').text($('div.slider').css('right'));
于 2009-12-11T22:25:06.360 回答