0

我有一个带有 3 个窗格的轮播,由左右箭头控制。我希望在窗格 1 上禁用左箭头,在窗格 3 上禁用右箭头,因此轮播不会自行循环。

我编写了一个按钮禁用功能,它似乎可以工作,但当我尝试从正确的窗格中调用它时不会。

这是推进轮播窗格的javascript,在右箭头按钮单击时调用:

if(currentPane==1){

        currentPane=2;

        $("#carouselDots").css('background-image', 'url(images/dots_2.png)');   
}
else if(currentPane==2){

        currentPane=3;

        $("#carouselDots").css('background-image', 'url(images/dots_3.png)');

        disableRButton();               
}

这是 disableRButton 函数:

function disableRButton()
{
    $("#carouselBtn").button("disable");
}

我还希望按钮在禁用时更改其 BG img 这是我在 CSS 中尝试做的事情:

.carouselBtn:disabled{
background:transparent url('images/carouselArrowDisabled.png')no-repeat;}

关于为什么按钮没有禁用的任何想法都会很棒。另外,在 CSS 中使用此禁用按钮标签的正确方法是什么,或者在 javascript 中更改按钮的 BG img 更好?

4

3 回答 3

0

我不认为 jquery 有一个按钮功能,它需要一个字符串表示禁用。您需要向按钮添加禁用属性以禁用它。

例如

$("my-button").attr("disabled", true);

您正确使用了 :disabled 选择器,但我认为选择器的第一部分是错误的。它应该以.if carouselBtn is the name of a class of #if it is the ID 开头。您目前在不同的示例中混合使用这些。

于 2013-10-24T11:50:06.820 回答
0

如果你使用的是jQuery UI Button Widget,你必须这样做:

$("#carouselBtn" ).button({disabled:true});

当您编写"disabled"而不是"disable".

于 2013-10-24T11:51:25.257 回答
0

您设置 attr 禁用这足以避免使用 jquery 设置背景后的点击

function disableRButton()
{
    $("#carouselBtn").attr("disabled",true);
    $("#carouselBtn").css("background-image",'images/carouselArrowDisabled.png');
}
于 2013-10-24T11:56:47.500 回答