2

jQuery.NiceScroll に従ってスクロールバーを編集しました。通常、 を呼び出すと、いくつかの css プロパティがセレクターに$(selector).niceScroll()追加されます。tabindexこのような:

$('p.lead').niceScroll({autohidemode: false});

p

次に、 id で始まる 2 つの divascrailも に追加され<body>ます。

_p

ご覧のとおり、tabindexがの場合5000、2 つの新しい ID は と にascrail2000なりascrail2000-hrます。

つまり、次<div>の方法で にアクセスできます。

var id = 2000 + (+$('p.lead').prop('tabindex') - 5000);
var vertical = $('div#ascrail' + id);
var horizontal = $('div#ascrail' + id + '-hr');

//do stuff...

jQuery BlockUIを使用していくつかの div をポップアップとして表示するまでは、これで問題ありません。

<div class="new-topic">
  <!-- another divs -->

  <div id="tab-content5" class="tab-content">
    <div class="n-images">          
    </div>
  </div>

  <!-- another divs -->
</div>

脚本:

    $.blockUI({
        message: $('div.new-topic'),
        css: {
            top: '50%',
            left: '50%',
            transform: 'translate(-50%, -50%)',
            border: 'none',
            cursor: 'default',
            borderRadius: '5px',
            width: ''
        }
    });
    $('div.n-images').niceScroll({autohidemode: false});

次に、ページ ソースを表示し、tabindexオーバーライドされました。

私

しかし、それはのためではありませんdiv[id^="ascrail"]:

_私

z-indexでは、div#ascrail2001とのcss プロパティを変更するにはどうすればよいdiv#ascrail2001-hrですか?

この方法は正しく機能しません:

//this will return 2000 instead of 2001
var id = 2000 + (+$('div.n-images').prop('tabindex') - 5000);

//if I can get the id correctly, every thing will became easy:
//change z-index: auto -> z-index: 10001 
//because if z-index is smaller than 10000, it won't appear

$('div#ascrail' + id).css('z-index', 10001);
$('div#ascrail' + id + '-hr').css('z-index', 10001);

私の問題は$(selector).niceScroll()、既存の tabindex 値をチェックせず、新しい tabindex 値を更新しなかったことです。(既存の値: 5000、新しい値: 5001)。

だから、私の質問は次のとおりです:この場合、新しい値をtabindexに更新するにはどうすればよいですか?

p/s: mvc 5 を使用しています。<p class="lead">とは異なる別の部分ビューにあります<div class="n-images">

4

1 に答える 1