欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

javascript 30

李佳璐1年前8瀏覽0評論
Javascript 30是一個非常流行的網站開發者教程,采用視頻教程的形式將常用的Javascript技能系統地進行了講解。它覆蓋了從最基礎的概念到高級應用的各個方面,使得學習者能夠掌握最流行的技術,并在實際工作中應用。下面將以幾個典型的例子來介紹Javascript 30。 第一個例子是"drum kit"。這個例子展示了如何使用Javascript和HTML5來編寫交互式音樂應用程序。該應用程序模擬了一個鼓組,用戶可以使用電腦鍵盤的按鍵觸發各個鼓組件的聲音,并在頁面上顯示相應的動畫效果。以下是相關代碼:
function playSound(e) {
const audio = document.querySelector(`audio[data-key="${e.keyCode}"]`);
const key = document.querySelector(`.key[data-key="${e.keyCode}"]`);
if (!audio) return;
key.classList.add('playing');
audio.currentTime = 0;
audio.play();
}
function removeTransition(e) {
if (e.propertyName !== 'transform') return;
this.classList.remove('playing');
}
const keys = Array.from(document.querySelectorAll('.key'));
keys.forEach(key =>key.addEventListener('transitionend', removeTransition));
window.addEventListener('keydown', playSound);
這段代碼定義了兩個函數: "playSound"和"removeTransition"。"playSound"函數用于處理當用戶按下鍵盤時觸發的音頻播放功能,"removeTransition"函數則負責在動畫效果結束時清除"playing"類。我們通過使用事件偵聽器監聽"keydown"事件來觸發"playSound"函數。 第二個例子是"clock". 這個例子展示了如何使用Javascript和CSS3來實現一個簡單的指針時鐘。在這個應用程序中,Javascript將獲取當前時間,然后使用CSS3輪廓和旋轉屬性來移動鐘表的指針。我們可以根據以下代碼來實現此目的:
function setDate() {
const now = new Date();
const seconds = now.getSeconds();
const secondsDegrees = ((seconds / 60) * 360) + 90;
secondHand.style.transform = `rotate(${secondsDegrees}deg)`;
const minutes = now.getMinutes();
const minutesDegrees = ((minutes / 60) * 360) + ((seconds/60)*6) + 90;
minuteHand.style.transform = `rotate(${minutesDegrees}deg)`;
const hours = now.getHours();
const hoursDegrees = ((hours / 12) * 360) + ((minutes/60)*30) + 90;
hourHand.style.transform = `rotate(${hoursDegrees}deg)`;
}
setInterval(setDate, 1000);
這段代碼在每秒鐘調用一次"setDate"函數,在函數中獲取當前時間,然后通過計算和CSS3轉換來調整指針的位置。 第三個例子是"CSS variables". 這個例子展示了如何使用Javascript來操作CSS變量。在這個應用程序中,Javascript監聽CSS變量的變化并動態修改相關元素樣式。我們可以使用以下代碼來實現此目的:
const inputs = document.querySelectorAll('.controls input');
function handleUpdate() {
const suffix = this.dataset.sizing || '';
document.documentElement.style.setProperty(`--${this.name}`, this.value + suffix);
}
inputs.forEach(input =>input.addEventListener('change', handleUpdate));
inputs.forEach(input =>input.addEventListener('mousemove', handleUpdate));
這段代碼獲取輸入框元素和視窗元素,然后使用事件偵聽器在輸入框值發生更改時更新CSS變量和樣式。由于每個輸入框都有不同的"suffix"值,因此我們使用數據集屬性來設置用于修改樣式的后綴。 總之,Javascript 30提供了許多非常有用的示例,可以幫助開發人員更好地理解JavaScript以及如何將其應用于Web應用程序的實現中。以上介紹的三個示例只是其眾多例子的冰山一角。學習者可以通過Javascript 30體系化的視頻教程來掌握更多的技能,并在項目中實踐。