我需要在插件选项中放置一个jQuery值或变量

时间:2018-08-03 06:55:44

标签: javascript jquery html jquery-plugins revolution-slider

我需要在插件选项中放置一个jQuery值或变量

我的脚本

$(document).ready(function() {
    // var bannerheight =  580;
    if ($(window).width() < 2100) {
      var bannerheight =  410;

      var opts = JSON.parse($('#revolutionSlider').attr('data-plugin-options'));
      opts.startheight = bannerheight; alert(opts.startheight);

      $('#revolutionSlider').attr('data-plugin-options', JSON.stringify(opts));
  }
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="revolutionSlider" style="background:grey;" data-plugin-options='{"startheight": 430}' data-plugin-revolution-slider></div>

我需要将我从jQuery脚本获得的横幅值放在data-plugin-options='{"startheight": 430}'中。那不是值“ 430”,而是我需要jQuery脚本的值

3 个答案:

答案 0 :(得分:1)

您将需要:

  1. 将选项JSON解析为JS对象
  2. 更改值
  3. 将对象序列化为JSON
  4. 将JSON设置为属性值。

以下应该起作用。计算bannerheight之后执行此操作。

var opts = JSON.parse($('#revolutionSlider').attr('data-plugin-options'));
opts.startheight = bannerheight;
$('#revolutionSlider').attr('data-plugin-options', JSON.stringify(opts));

答案 1 :(得分:1)

这可能是一种骇人听闻的方式,但是有效

1。获取当前值 2.更改值并再次设置

let raw_rev_options = jQuery('#revolutionSlider').attr('data-plugin-options');
let rev_options = JSON.parse(raw_rev_options);
rev_options.startheight = bannerheight;
jQuery('#revolutionSlider').attr('data-plugin-options', JSON.stringify(rev_options));

答案 2 :(得分:0)

尝试在其他条件之后将其添加到脚本中,然后检查是否可行。

$("#revolutionSlider").attr('data-plugin-options',"{'startheight':"+bannerheight+" }");