새로운 학습자가 여기 있습니다!클릭시 마우스 오버 오버레이 전환
"새 견적"버튼을 클릭하면 1000ms가 넘는 새로운 임의의 색 구성표로 페이지 내용이 전환됩니다. 이 버튼에는 jQuery 호버 (joverery) 호버 효과가있어서 배경색을 마우스로 가리면 100ms가 넘는 어두운 색조로 바뀝니다.
링크를 클릭하면 100ms 전환이 유지되어 버튼의 배경색이 새로운 임의의 색상으로 훨씬 빠르게 이동 한 다음 나머지 페이지로 전환됩니다.
호버 천이를 재정의하고 버튼을 클릭하면 더 긴 전환으로 바꾸는 방법이 있습니까?
은 여기 내 자바 스크립트/jQuery를하다 : 모든 codepen
덕분에
$(document).ready(function() {
refreshQuote();
})
$(".newQuote").on("click", function() {
refreshQuote();
})
function refreshQuote() {
// Gets and assigns JSON
$.ajax({
type: 'GET',
dataType: 'json',
url: 'https://random-quote-generator.herokuapp.com/api/quotes/random',
success: function(data){
$("h1").html(data.quote);
if (data.author !== undefined) {
$("footer").html("- " + data.author);
} else {
$("footer").html("- Unknown");
}
$('.tweetQuote').attr('href', 'https://twitter.com/intent/tweet/?text=' + data.quote + "%0A" + data.author);
}
})
setColors();
}
// Assigns colors and hover effect
function setColors() {
colors.randomArray();
$("a, body").css("background-color", colors.normColor());
$("a, .quote-container").css("border", "5px" + " " + "solid" + " " + colors.darkColor())
$('.newHover').hover(
function() {
$(".newHover").css("background-color", colors.darkColor()).css("transition", "background-color linear 100ms");
},
function() {
$(".newHover").css("background-color", colors.normColor()).css("transition", "background-color linear 100ms");
})
}
// Object to create multiple shades of random rgb()'s;
var colors = {
colorArray: [],
randomArray: function() {
this.colorArray = [];
for (var i = 0; i < 3; i++) {
this.colorArray.push(Math.floor(Math.random() * 256));
}
},
normColor: function() {
var normColor = "rgb" + "(" + this.colorArray.join() + ")";
return normColor;
},
darkColor: function() {
var darkArray = [];
this.colorArray.forEach(function(num) {
darkArray.push(Math.floor(num/1.5));
});
var darkColor = "rgb" + "(" + darkArray.join() + ")";
return darkColor;
}
}
그리고 더 중요한 링크!
새 애니메이션을 시작할 때'.stop()'을 사용하여 요소에서 애니메이션을 멈 춥니 다? – Barmar
@Barmar CSS 전환입니다. – Santi
ummm, 100ms 전환이 코드에 있기 때문에 왜 그 라인을 그냥 지울 수 없습니까? – Rooster