2015-12-10 41 views
2

我跟着jQuery.NiceScroll編輯滾動條。通常,當我撥打$(selector).niceScroll()時,它會將tabindex和一些CSS屬性附加到選擇器中。就像這樣:jquery.nicescroll錯誤的tabindex值

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

p

然後,2周的div其ID與ascrail開始將被追加到<body>了。

_p

正如你可以看到:如果tabindex5000,2個新的ID將ascrail2000ascrail2000-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是覆蓋:

i

但它不是div[id^="ascrail"]

_i

現在,我怎樣才能改變div#ascrail2001div#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">的局部視圖。

回答

0

我解決了這個問題。這是因爲我添加了

<script src"~/Scripts/jquery.nicescroll.js"></script> 

兩次出現在2個部分視圖中。

我試圖在App_Start文件夾中刪除它們,開放BundleConfig.cs並加入這一行:

bundles.Add(new ScriptBundle("~/bundles/nicescroll").Include(
         "~/Scripts/jquery.nicescroll.js")); 

它應該工作。謝謝閱讀!