CSS jQuery () функция, изменяющая свойство не 'a:hover' свойство

33! фактически является выходом за пределы 32-битного диапазона int, независимо от того, подписан он или нет. 12! имеет значение 479001600, а 13! имеет значение 6227020800, поэтому вы выходите за пределы диапазона 13!.

Обратите внимание, что result определяется как int, и вы возвращаете int из fact. Это означает, что вы получите целочисленное переполнение со знаком, которое вызывает неопределенное поведение . Это можно исправить, изменив тип обоих на unsigned, хотя вы все еще ограничены 12!.

Вместо этого вы можете попробовать использовать unsigned long long для своих типов. Это поднимет вас до 20!. Если вы хотите, чтобы значения были больше этого, вам нужно использовать библиотеку bigint, такую ​​как GMP.

7
задан Soviut 25 October 2012 в 06:37
поделиться

3 ответа

Причина, по которой ваш пример не работает, заключается в том, что селектор не может обнаружить: hover, поскольку это чисто CSS. Вместо этого вы можете попытаться использовать метод jquery hover :

$("#header #headerlist li a").hover(
  function () {
    $(this).css("border-top-color", "#FF0000");
  }, 
  function () {
    $(this).css("border-top-color", "#000000");
  }
);

В качестве альтернативы вы также можете использовать метод addclass:

$("#header #headerlist li a").hover(
  function () {
    $(this).addClass('hover-highlight');
  }, 
  function () {
    $(this).removeClass('hover-highlight');
  }
);

Это можно еще более упростить до:

$("#header #headerlist li a").hover(function () {
    $(this).toggleClass('hover-highlight');
});
20
ответ дан 6 December 2019 в 05:43
поделиться

Я не знаю точно, почему, но этот тип изменений лучше сделать в CSS, поэтому я предлагаю, чтобы, если вам действительно нужно изменить это через JS, создайте класс CSS , затем измените это в JS.

CSS

#header #headerlist li a.fancy-border:hover{
  border-top-color: rgb(225, 149, 79);
}

JS

$("#header #headerlist li a").addClass("fancy-border");

Таким образом, вы сможете лучше отделить функциональность от презентации.

12
ответ дан 6 December 2019 в 05:43
поделиться

Причина, по которой он не работает, заключается в том, что бит : hover не работает » фактически дать селектору любую информацию об элементе.

a: hover в CSS соответствует тем же точным элементам, что и a , он просто определяет другой набор свойств, когда пользователь наводит курсор на эти элементы.

Селектор jQuery предназначен для поиска (выбора) элементов, а не для их стилизации.

Метод css () просто устанавливает встроенный стиль для выбранных элементов, он не добавляет или изменить любые фактические объявления CSS.

Как уже упоминалось, вы можете использовать событие hover () , чтобы добиться того же поведения. Хотя, вероятно, лучше добавить класс на лету, как описал другой ответчик.

Однако, если вам не нужно менять его на лету,

1
ответ дан 6 December 2019 в 05:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: