отключить кнопку карусели при запуске программы

0

У меня есть карусель с 3-мя панелями. Когда страница сначала загружена, я хочу, чтобы левая кнопка была отключена, чтобы пользователь мог переходить назад через панели.

У меня есть рабочая функция disableButton:

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

это отлично работает, когда я вызываю это, когда возвращаюсь на 1-ое окно.

Я не хочу, чтобы он также был отключен, когда программа сначала запускается, я попробовал просто вызвать функцию с помощью firstRun bool, но она не работает:

var firstRun = true;

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

Я уверен, что есть отвратительно простое решение...

РЕШИТЬ:

Я добавил функцию нагрузки в тело:

<body onload="load()">

Затем в функции загрузки:

function load()
{
    disableLButton(true);
}
  • 0
    Просто используйте if (firstRun) { ... } , вам не нужно == true .
  • 0
    У меня тоже так было, я просто дважды убедился, что я делаю то, что хотел, пытаясь === а также ==
Показать ещё 3 комментария

1 ответ

0

вам нужно установить отключенное свойство с помощью prop() вместо attr()

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

см. здесь API method prop()

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

Разница между атрибутами и свойствами может быть важной в конкретных ситуациях. Перед jQuery 1.6 метод.attr() иногда учитывал значения свойств при извлечении некоторых атрибутов, что может привести к непоследовательному поведению. Начиная с jQuery 1.6, метод.prop() предоставляет способ явного извлечения значений свойств, в то время как.attr() извлекает атрибуты.

Атрибут disabled считается атрибутом Boolean:

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

и не забывайте, что при отключении атрибута disabled используйте это:

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

вы не установите его в false, поскольку даже наличие отключенного атрибута, даже если оно не имеет значения, будет считаться истинным.. поэтому используйте removeProp(), чтобы удалить отключенный атрибут

Ещё вопросы

Сообщество Overcoder
Наверх
Меню