Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript
JavaScript
  1. สร้าง Form ด้วย HTML และ jQuery

    HTML Form ธรรมดา <form action= method=get> <label>ชื่อ: <input type=text name=sname></label><br> <label>วันเวลาสอบ: <input type=datetime-local name=datetime></label><br> <input type=submit value=Submit> </form> สร้าง Form ด้วย j

  2. Transformation Matrix ใน HTML5 Canvas คืออะไร?

    Matrix 3x3 ควบคุมการ Transform ทั้งหมด Canvas เก็บ Current Transformation Matrix (CTM) เริ่มต้นเป็น Identity Matrix Matrix Format [ m11 m21 dx ] [ m12 m22 dy ] [ 0 0 1 ] m11, m22 - Scale X, Y m12, m21 - Skew/Shear dx, dy - Translate X, Y เมธอดหลัก transform(a, b, c, d, e, f) - คูณ CTM

  3. เพิ่ม/ลด หน่วยใน HTML5 Canvas Grid (Scale)

    เมธอด scale(x, y) ปรับขนาดหน่วยใน Canvas Grid สร้าง Shapes ขยาย/ย่อได้ x - Horizontal Scale Factor y - Vertical Scale Factor ต้องเป็น Positive Numbers ตัวอย่าง: Uniform และ Non-uniform Scaling ctx.save(); ctx.translate(50, 50); drawSpirograph(ctx, 22, 6, 5); // Original ctx.translate(100, 0); ctx

  4. Composition (GlobalCompositeOperation) ใน HTML5 Canvas คืออะไร?

    globalCompositeOperation: กำหนดการผสมสีระหว่าง Shape ใหม่และเก่า มี 12 โหมด (Porter-Duff Compositing Operators): source-over (Default) - ใหม่ทับเก่า source-in - ใหม่แสดงเฉพาะทับเก่า source-out - ใหม่แสดงเฉพาะนอกเก่า source-atop - ใหม่ทับเก่า (เฉพาะส่วนทับ) destination-over - เก่าทับใหม่ destination

  5. DOMException: Failed to load because no supported source was found

    สาเหตุหลัก: CORS (Cross-Origin Resource Sharing) แก้ไขฝั่ง Client var video = document.querySelector(video); video.crossOrigin = anonymous; // ต้องตั้งก่อน set src แก้ไขฝั่ง Server (Response Header) Access-Control-Allow-Origin: * ทางเลือก: Inject HTML ด้วย jQuery $(#audio).html(); สาเหตุอื่น: Codec

  6. HTML5 Input type=number ใน Firefox (min Attribute)

    Firefox ไม่รองรับ min, max, step บน type=number (รุ่นเก่า) Chrome รองรับเต็มที่ Firefox เริ่มรองรับ Validation UI ในรุ่นใหม่ (Firefox 29+) ตัวอย่าง <!DOCTYPE html> <html> <head><title>HTML input number</title></head> <body> <form action= method=get>

  7. ส่ง Mouse Clicks ผ่าน Overlay Div (Pointer Events None)

    2 วิธีหลัก 1. CSS pointer-events: none (ง่ายที่สุด) .overlay { pointer-events: none; /* คลิกทะลุไป element ใต้ได้ */ } รองรับทุกเบราว์เซอร์สมัยใหม่ (IE11+) 2. JavaScript: Forward Event overlay.addEventListener(click, function(e) { var x = e.clientX, y = e.clientY; overlay.style.display =

  8. Translate HTML5 Canvas (ย้ายจุดกำเนิด)

    เมธอด translate(x, y) ย้าย Origin (0,0) ของ Canvas ไปยังตำแหน่งใหม่ ทุกการวาดต่อไปจะอิงจุดใหม่ ตัวอย่าง: วาด Spirograph หลายตำแหน่ง function drawShape() { var canvas = document.getElementById(mycanvas); if (canvas.getContext) { var ctx = canvas.getContext(2d); ctx.fillRect(0,

  9. แก้ HTML5 Canvas Distorted (บิดเบี้ยว)

    สาเหตุ: Canvas Width/Height ไม่ตรงกับ CSS Size Default Canvas: width=300, height=150 (Ratio 2:1) แก้: ตั้ง Width/Height Attribute ให้ตรงกับ CSS <canvas id=mycanvas width=400 height=300></canvas> <style> #mycanvas { border: 1px solid red; width: 400px; height: 300px; } </style>

  10. Chrome Input type=number CSS Styling (Spinner)

    Style Spinner Buttons ด้วย Pseudo-elements ซ่อน Spinner input[type=number]::-webkit-inner-spin-button, input[type=number]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; } Style Spinner (แสดงแต่ปรับสไตล์) input[type=number]::-webkit-inner-spin-button { -webkit-appearanc

  11. ตรวจจับการรองรับ Click-to-Call (tel:) ใน JavaScript

    โปรโตคอล tel: รองรับใน Mobile เกือบทุกตัว iOS Safari Android Browser/Chrome Opera Mini/Mobile Symbian, BlackBerry, Windows Phone Feature Detection (แนะนำ) // ทดสอบสร้าง Link ดู var a = document.createElement(a); a.href = tel:+1234567890; var supportsTel = a.protocol === tel:; // หรือ User Agent S

  12. HTML5 Video Buffering ส่วนเฉพาะของวิดีโอที่ยาว (TimeRanges)

    ใช้ buffered Property (TimeRanges Object) video.buffered คืน TimeRanges Object มี Method: length - จำนวน Ranges start(index) - เริ่มต้นของ Range (วินาที) end(index) - สิ้นสุดของ Range (วินาที) ตัวอย่างแสดง Buffered Ranges var buffered = video.buffered; for (var i = 0; i < buffered.length; i++) {

  13. จัดการ Mousedown และ Mouseup บน HTML5 Canvas

    Track Mouse State ด้วย Flag Variable var mouseDown = false; var dragOffset = { x: 0, y: 0 }; var mainLayer = { trans: { x: 0, y: 0 } }; canvas.onmousedown = function(event) { dragOffset.x = event.clientX - mainLayer.trans.x; dragOffset.y = event.clientY - mainLayer.trans.y; mouseDown =

  14. วัดความสูงข้อความ (Text Height) บน HTML5 Canvas

    ตั้ง Font เป็น pt แล้ว Parse ขนาด ctx.font = 15pt Calibri; // ตั้ง Font Size เป็น pt // ดึงตัวเลขขนาดจาก Font String var height = parseInt(ctx.font.match(/\d+/), 10); // ได้ 15 // หรือใช้ Measure Text (Width เท่านั้น) var metrics = ctx.measureText(Text); var width = metrics.width; // ความกว้าง //

  15. HTML5 File.slice() / Blob.slice() Method ทำอะไร?

    สร้าง Blob ใหม่จากช่วง Bytes ของ Blob เดิม blob.slice(start, end, contentType) คืน Blob ใหม่ที่มีข้อมูลเฉพาะช่วงที่ระบุ ตัวอย่าง: อ่านไฟล์ใหญ่ทีละ Chunk (Resumable Upload) var blob = new Blob([large file content...], {type: text/plain}); var chunkSize = 1024 * 1024; // 1MB var start = 0; function u

  16. วาดทรงกลม 3D (Sphere) ใน HTML5 Canvas

    ใช้ Canvas 2D Context วาด Wireframe Sphere (Pseudo-3D) คำนวณจุดบนพื้นผิวทรงกลม (Latitude/Longitude) แล้ว Project มา 2D Constructor Function function Sphere(r) { this.point = []; this.color = blue; this.r = (typeof r === number) ? r : 20.0; this.vertexes = 0; for (var alpha =

  17. HTML5 Video ไม่ทำงานกับ jQuery bxSlider บน iPad แก้อย่างไร?

    แก้ด้วยการจัดการไฟล์ bxSlider ให้ถูกต้อง ดาวน์โหลด bxSlider จาก Official Website Copy โฟลเดอร์ images จาก Zip ไปวางในโฟลเดอร์ js ของโปรเจกต์ ตรวจสอบ Include Order: <link rel=stylesheet href=js/jquery.bxslider.css> <script src=js/jquery-3.2.1.min.js></script> <script src=js/jque

Total 5941 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:215/298  20-คอมพิวเตอร์/Page Goto:1 209 210 211 212 213 214 215 216 217 218 219 220 221