1

私は軽量の zepto.js フレームワークを使用しており、ページ上の要素が表示されているかどうかをテストする必要があります...これは私の場合です:

ボタンは機能をトリガーしますshow_guides()

function show_guides() {
    $('#guides').toggle();

    if ( $('#guides').is(':visible') ) { // does not work
        //$.cookie('guides_visible', 'true');
        console.log("visible");
    } else {
        console.log("invisible");
        //$.cookie('guides_visible', null);
    }
}

表示されている場合は$('#guides')Cookie を保存し、表示されていない場合は削除します。

ただし、zepto.js はセレクターをサポートしていない:visibleため、別の方法を見つける必要があります。それを行う方法はありますか?現在、次のエラーが発生しています。

キャッチされないエラー: SYNTAX_ERR: DOM 例外 12

zepto のドキュメントで、これを読んだことがあります…</p>

:visible などの jQuery の非標準疑似セレクターの基本的なサポートについては、オプションの「selector」モジュールを含めます。

しかし、これを含める方法がわかりません。

ここで私を助けてくれる人はいますか? 前もって感謝します。

4

4 に答える 4

3

表示 CSS プロパティを確認できます。

 function show_guides() {

        $('#guides').toggle();

        if ( $('#guides').css('display') == 'block' ) { 
            console.log("visible");
        } else {
            console.log("invisible");
        }
    }
于 2012-07-09T08:32:02.553 に答える
1

可視性を確認することだけが必要な場合は、これを使用できます

  function visible(elem){
    elem = $(elem)
    return !!(elem.width() || elem.height()) && elem.css("display") !== "none"
  }

zepto セレクター プラグインから直接取得。それ以外の場合は、 Felix Kling が提案したように、 https://github.com/madrobby/zepto/blob/master/src/selector.jsからセレクター モジュールを含めることができます。

于 2013-05-13T19:55:05.897 に答える
1

試す

     style.display="block";

     style.display="hidden";
于 2012-07-09T08:34:45.403 に答える
1

可視性:可視/非表示、または表示:ブロック/なしを確認できます

$('#guides').css('visibility') == 'visible'
$('#guides').css('display') == 'block'
于 2012-07-09T08:49:50.363 に答える