如何在jquery中动态地将data-spy =“affix”更改为data-spy =“affix-top”

时间:2013-10-21 06:22:33

标签: jquery html css3 twitter-bootstrap

我的html中有这个div:

 <div class="row-fluid container-nav" data-spy="affix" data-offset-top="130">
       <div class="container">
           <div class="row-fluid">
               <?php nav_menu_primary(); ?>
          </div>
      </div>
 </div>

我需要将data-spy =“affix”更改为data-spy =“affix-top”,以便在媒体屏幕较小时使导航不会粘在上面。

JS:

    $(window).resize(function() {
        // if screen is resize
        delay(function() {

            var width = $(window).width();
           // document.write(width);
        if( width >= 550 && width <= 767 ) {
           $('.toopnav').css('data-spy','affix-top');
        } 

        }, pause );

       });

   $(window).resize();

2 个答案:

答案 0 :(得分:1)

将.css()更改为.attr()

$('.toopnav').attr('data-spy','affix-top');

或使用更好的方法.data()

$('.toopnav').data('spy','affix-top');

答案 1 :(得分:0)

使用jquery data属性..这就是为什么jquery.data在最新版本的jquery中引入的原因。

 $('.toopnav').data('spy','affix-top');

根据你的HTML,我想应该是

$('.container-nav').data('spy','affix-top');