获取滑块上的当前值并设置cookie

Get current value on sliderstop and set cookie

本文关键字:设置 cookie 获取      更新时间:2023-09-26

我使用jQuery UI滑块来设置css不透明度,遵循api文档关于如何获取值,但当我测试它时,它没有改变元素的不透明度值。

编辑:现在一切都在工作(发送值和设置cookie),我已经更新了下面的代码,如果它对任何人有任何帮助,谢谢你的输入伙计!

HTML:

<h5>Header Opacity</h5>
<div id="op-slider-header"></div>
<input id="headerOpVal" type="hidden" />
<script type="text/javascript">
// header opacity 
$(function() {
    if ($.cookie('headOp')==null){
        $.cookie('headOp',0.5);
    }
    $('.row.header .bg').css('opacity', $.cookie('headOp'));
    $( "#op-slider-header" ).slider({
        max: 1,
        min: 0,
        value: $.cookie('headOp'),
        step:0.1,
        slide: function(e,ui) {
          $.cookie('headOp',ui.value);
         $('#headerOpVal').html(ui.value);
        }
    });

    $( "#op-slider-header" ).on( "slidestop", function( event, ui ) {
        var val = $('#headerOpVal').html(ui.value);
        $('.row.header .bg').css('opacity', ui.value);
        $.cookie("headOp", ui.value, { expires: 7});
    });
});
</script>

我会使用$('#headerOpVal').attr("value", ui.value);来存储值,而不是html。

并使用$('#headerOpVal').attr("value");检索该值。

但很难说是哪个问题,试着把html也贴出来。

我认为你可能必须确保你设置的不透明度为整数。试试这个:

var val = parseFloat(ui.value, 10);

不应该ui变量在您的slidestop事件监听器包含幻灯片值?