2013-02-19 72 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插件的最小化版本不包含此代码(几乎没有滑块就是这样)。

让我成为一个教训。