我跟着jQuery.NiceScroll編輯滾動條。通常,當我撥打$(selector).niceScroll()
時,它會將tabindex
和一些CSS屬性附加到選擇器中。就像這樣:jquery.nicescroll錯誤的tabindex值
$('p.lead').niceScroll({autohidemode: false});
然後,2周的div其ID與ascrail
開始將被追加到<body>
了。
正如你可以看到:如果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"]
:
現在,我怎樣才能改變div#ascrail2001
和div#ascrail2001-hr
CSS屬性z-index
?
這樣將無法正常工作:
//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">
的局部視圖。