2016-11-03 16 views
-1

どこでも、通常の作業例を発見していないので、あなたがページがデータ・アクティブ動作するはずスクロールすると、私は時に逆方向データ・アクティブ=「オフ」他にも要素にデータ属性を追加する方法は?

var winHeight = $(window).height(); 
    var thisY = $(this); 
    var thisY = e.offset().top; 

    if (thisY <= (windowHeight * 0.85)) { 
     var dataActiveOn = $(this).attr('data-active', 'on'); 
    } 
    else { 
     var dataActiveOff = $(this).attr('data-active', 'off'); 
    } 

htmlコード「に」= ..尋ねる:

<section class="js-monitor-scroll" data-active="off"></section> 
+1

は、あなたが同様にHTMLコードを追加することができます。 – Dkouk

+0

データ属性を設定しようとしていますか、それとも読み取っていますか? '.data( 'active'、 'off');'はそれを設定し、 '.data( 'active');は値を読み込みます。 var dataActiveOn = $(this).attr( 'data-active'、 'on'); '本当に意味をなさない。これは、 'var a =(b = c)' – DBS

答えて

0

このスニペットを参考にしてください。

function changeAttr() 
 
{ 
 
    console.log($(".js-monitor-scroll").attr("data-active")); 
 
    $(".js-monitor-scroll").attr("data-active", "on"); 
 
    console.log($(".js-monitor-scroll").attr("data-active")); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<section class="js-monitor-scroll" data-active="off"></section> 
 
<button onclick="changeAttr()">Change attribute</button>

0

あなたがやっていることのこのisnteadを使用してください。はるかに簡単:

thisY = $(window).scrollTop();

そしてまた、それ以外の場合は...直接.ATTRメソッドを実行してVARを削除...

+0

のようなものです。コンソールは "Uncaught TypeError:未定義(...)のプロパティ 'top'を読むことができません。 –

関連する問題