質問: 現在wow.jsというプラグインを使って、可視領域に入ったらフェードインさせるサイトを構築しています。 こちらのプラグインはPC/SPで数値を切り替える方法がないので、少々困っております。 PCとSPでjsで数値を書き換える方法を知りたいのですが、検索の仕方が悪いのかなかなか出てきません。 具体的には、例えばPCだと のところを SPだと に書き換えたいのです。 data-wow-offsetの中の数字を書き換えられればいいのですが、どなたか良い方法をご存知の方いらっしゃいましたら教えていただけますと幸いです。 ご確認のほど、よろしくお願いいたします。 自分で書いてみたJSを記載しておきますので、ご協力のほどよろしくお願いいたします。 ``` ```
回答: あまり要素自体を全て対象にreplaceは好ましくありません。 wow.jsには共通のwowというClassをつけるようですので、 そのエレメントに対して指定しましょう。 ※未検証。おおよそ流れがわかればと ``` window.onload = function() { var wowele = getElementsByClassName("wow"); var woffset = 250; if(sp){ //spと判定されるフラグ woffset =100; } wowele.dataset.wow-offset=woffset ; } ``` ``` jQuery版 $(function(){ var woffset = 250; if(sp){ //spと判定されるフラグ woffset =100; } $(".wow").data("wow-offset",woffset ), }); ``` ~~初期値250で入れておいてください。~~ 値を書き換えるともしかしたらプラグインがキャッシュしている値とかが変わらない可能性があるのでload時にセットする形をとっていますが、確実に反映できるかどうかは確認してみてください。 * [jQuery] data属性を動的に変更する場合の注意点