2016-11-15 13 views
0



私が取り組んでいるサイトにアクセシビリティ機能を実装しようとしています。 3つのトグルボタン(フォントサイズ、ハイライトされたリンクと色の反転)があり、jQuery Cookiesを使用してページのロード/リフレッシュ時にトグル状態を保持したい。私はそのテーマについて他のスレッドを読んだことがありますが、私は自分のシナリオがうまくいくにはあまりにも経験が足りません。事前に

jQuery Cookieを使用してページのロード/リフレッシュ時にトグル状態を保持する

$(document).ready(function(){ 
    $("button.type-size").click(function(){ 
     $("body").toggleClass("accessibility-font"); 
     $("button.type-size").toggleClass("on"); 
    }); 
    $("button.links").click(function(){ 
     $("a").toggleClass("accessibility"); 
     $("button.links").toggleClass("on"); 
    });  
    $("button.contrast").click(function(){ 
     $("body, img, .site-branding, .accessibility-bar, .no-invert, a, button").toggleClass("invert"); 
     $("button.contrast").toggleClass("on"); 
    }); 
}); 


ありがとう!

+0

これまでに解決策が見つかりましたか?私は似たようにしようとしています。 – Aaron

+0

@Aaron、私は答えを投稿しました。 – Fadermoll

答えて

0

解決策が見つかりました。これは、ボタンが押されたかどうかを確認する方法です。

$(document).ready(function(){ 
    var sel = $.cookie("accessibility"); // get the cookie 
    console.log("from cookie:"+sel,sel!=true); 
    sel = sel=="true"; 
    $("body, a").toggleClass("accessibility",sel); // initial 
    console.log("after test:"+sel,$("body, a").hasClass("accessibility")); 

$("button.links").on("click",function() { 
    $("body, a").toggleClass("accessibility"); 
    var $this = $(this); 
    sel = !sel; 
    $.cookie("accessibility", sel,{ expires: 1, path: '/' }); 
}); 
}); 
関連する問題