在程序启动时禁用轮播按钮

时间:2013-10-24 12:33:48

标签: javascript jquery html html5 css3

我有一个带3个窗格的旋转木马。首次加载页面时,我希望禁用左键,以便用户可以在窗格中向后循环。

我有一个有效的diableButton函数:

function disableLButton()
{
    $(".carouselBtnLeft").attr("disabled",true);
}

当我在返回第一个窗格时调用它时,这个工作正常。

我不想在程序第一次运行时被禁用,我尝试使用firstRun bool简单地调用该函数,但它不起作用:

var firstRun = true;

if(firstRun == true)
{
    disableLButton();
    firstRun=false; 
}

我确信有一个令人作呕的简单解决方案......

解决:

我在身体上添加了一个加载功能:

<body onload="load()">

然后在加载函数中:

function load()
{
    disableLButton(true);
}

1 个答案:

答案 0 :(得分:0)

您需要使用 prop()而不是 attr()

设置已禁用的属性
function disableLButton()
{
     $(".carouselBtnLeft").prop("disabled",true);
}

请参阅此处获取API方法prop()

http://api.jquery.com/prop/

  

在特定情况下,属性和属性之间的差异非常重要。在jQuery 1.6之前,.attr()方法在检索某些属性时有时会考虑属性值,这可能会导致行为不一致。从jQuery 1.6开始,.prop()方法提供了一种显式检索属性值的方法,而.attr()则检索属性。

disabled属性被视为布尔属性:

http://www.w3.org/TR/html4/intro/sgmltut.html#h-3.3.4.2

并且不要忘记在删除disabled属性时使用此:

 $(".carouselBtnLeft").removeProp("disabled");

你不要将它设置为false,因为即使没有值,即使它没有值,也会被认为是真的..所以使用removeProp()来删除已禁用的属性