일반적인 '색상 확인 플래시'기능을 만들면 객체의 배경을 녹색으로 깜박이고 기존 색상이 무엇이든간에 사라집니다. . jQuery는 요소의 색상을 grabing합니다. PRE : hover
그래서 내가() 클릭이 메소드를 호출 해 두 가지 요소가있을 수 있습니다 : 내가 처음 하나를 클릭하면li background-color: red
li background-color: black
를, 그것은 녹색에서 빨간색으로 사라질 것입니다. 첫 번째 버튼을 클릭하면 녹색에서 검은 색으로 희미 해집니다.
JQuery와 논리 :
클릭 이벤트 :
listItem.each(function(){confirmFlash($(this),$(this).css("backgroundColor"))});
함수는 :
function confirmFlash(objectToFlash,backgroundColor){
objectToFlash.css("backgroundColor","#84da9a").animate({opacity: 1}, 1000).animate({backgroundColor: backgroundColor}, 500);
}
이 잘 작동합니다. 캐치 : 나는 또한 LI의 위를 줄 경우
가 : 가져가 상태 배경색 : 내 페이드 그런
li background-color: red
li background-color: black
li:hover background-color: purple
모든 보라색, 녹색에서 이동합니다. 이는 LI를 클릭 할 때 배경이 실제로 보라색이기 때문에 의미가 있습니다.
'비 호버 (non-hover)'CSS 클래스의 배경 색상을 잡는 좋은 방법이 있습니까?
다시 말하면, 가상 클래스보다는 LI의 현재 클래스에 할당 된 배경색을 잡고 싶습니다.
또는 CSS가 아닌 마우스를 구현하는 솔루션은 jQuery를 통해서도 가능합니까?
더 생각해 보면 jQuery가 엘리먼트와 상호 작용할 때 이미 실제로 이것을 생각할 필요가 없다고 생각합니다. 이미 엘리먼트 위에 마우스를 가져 가면 배경색을 지나치게 오버 라이딩됩니다. : CSS 파일에서 클래스를 가리 키십시오. 대신 각 요소에 .hover 이벤트를 적용하고 CSS 대신 jQuery를 통해 처리해야한다고 생각합니다. –