2013-02-19 86 views
1

我有下面的代碼片段:jQuery代碼不改變CSS

http://jsfiddle.net/Wcexy/

曰:

HTML:

<div id="secrets-slider"></div>

CSS:

#secrets-slider { 
    position: relative; 
    left: 50%; 
    top:50px; 
    height: 200px; 
} 

.ui-state-default, .ui-widget-content .ui-state-default { 
    background: red; 
} 

的Javascript:

var flash = 1; 

$(function() { 
    $("#secrets-slider").slider({ 
     orientation: "vertical", 
     range: "min", 
     min: 0, 
     max: 100, 
     value: 70, 
     animate: 3000, 
     slide: function (event, ui) { 
      $("#amount").val(ui.value); 
      flash=0;   
     }, 
    }); 
    function flashing() { 
     if (flash === 0) { 
      $("#secrets-slider a").stop(true, true); 
     } else { 
      $("#secrets-slider a").animate(
       { 
        backgroundColor: '#ff8c00' 
       }, 1000, 
       function() { 
        $("#secrets-slider a").animate(
         { 
          backgroundColor: '#f00' 
         }, 1000 
        ) 
       }           
      ) 
      setTimeout(flashing,2000); 
     } 
    } 
    flashing(); 
}); 

現在我實現這個代碼到一個網站,我試圖讓一個朋友。可在這裏:http://blah.eu5.org/

當我添加此代碼,它似乎不起作用。值得注意的是,jQuery的滑動手柄根本不會產生脈衝。我已經檢查過這個事件是與alert("Moo");一起發射的,但它似乎並沒有改變CSS。爲什麼會這樣呢?

+0

那個全局變量「flash」呢?在哪裏/如何定義? – Pointy 2013-02-20 00:02:39

+0

它在hs.js(控制頁面的主要腳本文件)頂部定義爲全局變量。它從1開始,當您第一次移動滑塊時移動到0。 – Glenn 2013-02-20 00:05:07

+0

每次檢查文檔時,我都沒有看到變化發生。有沒有一些CSS覆蓋這個?也許我的CSS重置? – Glenn 2013-02-21 00:43:57

回答

0

經過很多令人頭疼的事情後,我發現在背景上使用.animate()實際上是JQuery UI插件的一部分,我使用的UI插件的最小化版本不包含此代碼(幾乎沒有滑塊就是這樣)。

讓我成爲一個教訓。