เป็นเวลานานแล้วที่ฉันมีบทความเกี่ยวกับ JQuery ในบล็อกของฉัน ไม่ แน่นอนว่ามีบทความต่างๆ ที่ใช้มันอยู่ แต่มันทำหน้าที่เป็นเครื่องมือเสริม และในระหว่างนี้ ส่วน “การเรียนรู้ JQuery” ก็เต็มไปด้วยฝุ่น ในขณะเดียวกันก็ถึงเวลาที่จะก้าวไปสู่ส่วนที่น่าสนใจที่สุดของการฝึกอบรม - การเพิ่มเอฟเฟกต์ต่าง ๆ ซึ่งเป็นเหตุผลว่าทำไมหลายคนถึงเริ่มศึกษามัน และในบทความวันนี้ คุณจะได้เรียนรู้วิธีเปลี่ยนคุณสมบัติ CSS ได้ทันที
ก่อนที่เราจะพูดถึงเอฟเฟกต์นั้น เรามาสำรองข้อมูลเล็กน้อยและดูที่ CSS กันก่อน ในบทความก่อนหน้านี้ เราได้เปลี่ยนรูปลักษณ์ของหน้าโดยการเพิ่มหรือลบคลาส CSS ต่างๆ ซึ่งแน่นอนว่าจะต้องสร้างในไฟล์ CSS ก่อน โดยทั่วไปนี่เป็นวิธีที่ถูกต้องเนื่องจากคำนึงถึงบทบาทของ CSS ในการสร้างเพจ
อย่างไรก็ตาม มีบางครั้งที่คุณต้องเปลี่ยนสไตล์ CSS ที่ไม่ได้อยู่ในสไตล์ชีตหรือที่ไม่สามารถอธิบายได้ ในกรณีดังกล่าว JQuery มีเมธอด .css()
เพื่อที่จะรับค่าของคุณสมบัติ CSS เราต้องส่งชื่อคุณสมบัติเป็นสตริง อะไรทำนองนี้ css('สีพื้นหลัง') .
คุณสมบัติที่ประกอบด้วยคำหลายคำสามารถเขียนด้วยยติภังค์ได้ เช่น ในไฟล์ CSS (สีพื้นหลัง) หรือตัวพิมพ์ต่าง ๆ ตามที่เขียนใน DOM (สีพื้นหลัง) ในการตั้งค่าคุณสมบัติ CSS นั้น .css() วิธีการใช้สองวิธี วิธีแรกคือพารามิเตอร์สองตัว ชื่อของคุณสมบัติ CSS และค่า โดยคั่นด้วยเครื่องหมายจุลภาค ประการที่สองคือแผนที่ที่ประกอบด้วยคู่มูลค่าทรัพย์สิน
Css("คุณสมบัติ","ค่า") .css((property1: "value1", "property-2": "value2"))
เราจะใช้วิธีการ css() เช่นเดียวกับที่เราใช้ .addClass() - เรารวมมันเข้ากับตัวเลือกและผูกเหตุการณ์ ลองดูที่วิธีการ .css() โดยใช้ตัวอย่างที่เฉพาะเจาะจง เราจะต้องมีมาร์กอัป HTML ต่อไปนี้:
และ CSS บางส่วน:
#กล่องข้อความ ( เส้นขอบ: 1px solid #000; พื้นหลัง: #DFECFF; ระยะขอบ: 20px อัตโนมัติ; การจัดตำแหน่งข้อความ: ซ้าย; การขยาย: 10px; ความกว้าง: 400px; สี: #0000a0; รูปแบบแบบอักษร: ตัวเอียง; ชัดเจน: ทั้งสอง; )
ด้วยเหตุนี้เราจะได้หน้าดังนี้:
มีสองปุ่มบนหน้า - เพื่อเพิ่มและลดแบบอักษร โดยหลักการแล้ว ที่นี่เราสามารถใช้เมธอด .addClass() ที่อธิบายไว้ในบทความที่แล้ว แต่มาทำให้งานซับซ้อนขึ้นอีกหน่อย และลองจินตนาการว่าเราจำเป็นต้องลดหรือเพิ่มข้อความทุกครั้งที่กดปุ่มที่เกี่ยวข้อง แน่นอนว่าสิ่งนี้สามารถนำไปใช้ได้โดยการอธิบายคลาสแยกต่างหากสำหรับการคลิกแต่ละครั้ง แต่จะง่ายกว่ามากในการรับขนาดข้อความปัจจุบันและเพิ่ม (ลด) ตามค่าที่กำหนด
โค้ดของเรามักจะเริ่มต้นด้วย $(document).ready() และตัวจัดการเหตุการณ์ของปุ่ม $("#increase").click() :
$(document).ready(function())( $("#increase").click(function())( ));
จากนั้น คุณสามารถรับขนาดตัวอักษรได้อย่างง่ายดายผ่าน $(“#textbox”).css("fontSize") อย่างไรก็ตาม ค่าที่ส่งคืนจะมีทั้งตัวเลขและหน่วย ดังนั้นเราจำเป็นต้องจัดเก็บแต่ละส่วนไว้ในตัวแปรของตัวเอง หลังจากนั้นเราจะเพิ่มตัวเลขและแนบหน่วยกลับเข้าไปใหม่ได้ นอกจากนี้ เราวางแผนที่จะใช้วัตถุ JQuery มากกว่าหนึ่งครั้ง ดังนั้นจึงเป็นความคิดที่ดีที่จะเก็บไว้ในตัวแปรเช่นกัน
$(document).ready(function() ( $("#increase").click(function() ( var $speech = $("div.speech"); var currentSize = $speech.css("fontSize") ; var num = parseFloat(ขนาดปัจจุบัน, 10); var unit = currentSize.slice(-2); $speech.css("fontSize", num + หน่วย ));
บรรทัดแรกภายในฟังก์ชัน .click() จะจัดเก็บตัวแปรพร้อมกับบล็อก #textblock
โปรดทราบว่าเราใช้สัญลักษณ์ $ ในชื่อตัวแปร $speech เนื่องจาก $ เป็นอักขระที่ถูกต้องสำหรับตัวแปร JavaScript เราจึงสามารถใช้เป็นเครื่องเตือนใจว่าตัวแปรนี้เก็บวัตถุ JQuery บรรทัดถัดไปจะบันทึกขนาดแบบอักษรของบล็อก #textblock ลงในตัวแปร เช่น 12px
หลังจากนั้นเราใช้ parseFloat() และ Slice() ฟังก์ชัน parseFloat() ใช้ในการแปลงค่าสตริงให้เป็นค่าตัวเลข (ทศนิยม) ตัวอย่างเช่น สตริง 12 จะถูกแปลงเป็นตัวเลข 12 หากสตริงขึ้นต้นด้วยอักขระที่ไม่ใช่ตัวเลข parseFloat() จะส่งกลับ NaN ซึ่งหมายความว่า: "ไม่ใช่ค่าตัวเลข" ( ไม่ใช่ตัวเลข).อาร์กิวเมนต์ที่สองของฟังก์ชัน parseFloat() ทำให้แน่ใจว่าตัวเลขจะถูกแปลงเป็นค่าทศนิยม
.sice() วิธีการส่งกลับสตริงย่อยเริ่มต้นที่อักขระเฉพาะในสตริง เนื่องจากชื่อของหน่วยที่เราใช้มีความยาวอักขระสองตัว (px) เราจึงระบุว่าสตริงย่อยต้องขึ้นต้นด้วยอักขระสองตัวสุดท้ายของสตริงหลัก
สิ่งที่เราต้องทำคือคูณค่าผลลัพธ์ของตัวแปร num ด้วย 1.4 จากนั้นตั้งค่าขนาดตัวอักษรโดยเชื่อมตัวแปรสองตัว num และหน่วยเข้าด้วยกัน:
$(document).ready(function())( $("#increase").click(function())( var $speech = $("#textbox"); var currentSize = $speech.css("fontSize" var num = parseFloat(ขนาดปัจจุบัน, 10); var unit = currentSize.slice(-2); $speech.css("fontSize", num + หน่วย ));
ตอนนี้หลังจากคลิกที่ปุ่ม "ขยาย" ข้อความในบล็อกจะเพิ่มขึ้นดังที่แสดงในภาพหน้าจอ:
การคลิกปุ่มเดิมครั้งถัดไปจะยังคงเพิ่มข้อความในบล็อก
เพื่อให้ปุ่ม "ลด" ทำงานได้ เราจะแบ่งค่าของตัวแปร – num/=1.4 และเพื่อไม่ให้เพิ่มขนาดโค้ด เราสามารถรวมตัวจัดการเหตุการณ์ .click() สองตัวเข้าด้วยกันเป็นอันเดียวผ่านคลาสปุ่ม จากนั้นหลังจากตั้งค่าตัวแปรแล้ว เราก็สามารถคูณหรือหารตาม ID ของปุ่มที่กดได้อย่างง่ายดาย นี่คือลักษณะของโค้ดที่ควรจะเป็น:
$(document).ready(function())( $("input").click(function())( var $speech = $("#textbox"); var currentSize = $speech.css("fontSize") ; var num = parseFloat(currentSize, 10); var unit = currentSize.slice(-2); if (this.id=="increase")( num*=1.4; ) อื่น ๆ ถ้า(this.id=="ลดลง ") ( num/=1.4; ) $speech.css("fontSize", num + หน่วย ));
ข้างต้นเป็นตัวอย่างที่ง่ายที่สุดของการใช้เมธอด .css() ในทางปฏิบัติ สามารถยกตัวอย่างการใช้วิธีนี้ได้อีกตัวอย่างหนึ่ง
แยกรายการเมนู
บ่อยครั้งในการออกแบบมีเทคนิคเช่นการแบ่งรายการเมนูด้วยเส้นแนวตั้งและรายการเมนูแรกและรายการสุดท้ายไม่ควรมีเส้นข้าง
เมนูดังกล่าวจะต้องมีมาร์กอัป HTML ต่อไปนี้:
Ul( list-style: none; ) ul li( list-style: none; float: left; พื้นหลัง: #DFECFF; display: block; padding: 10px; border-right: 1px grey solid; ) ul li a( text- ตกแต่ง: ไม่มี; สี: #000;
เมนูของเราจะเป็นดังนี้:
และเพื่อลบตัวคั่นที่ถูกต้องออกจากรายการเมนูสุดท้าย (รายการที่สี่) คุณสามารถใช้รหัสนี้:
$(document).ready(function())( $("#menu ul li:last").css("border-right", "none"); ));
และด้วยเหตุนี้เราจึงได้เมนูนี้:
อย่างที่คุณเห็นการใช้วิธีนี้ค่อนข้างง่ายและสะดวก แต่ก็ยังพยายามอย่าใช้ในทางที่ผิด แต่ใช้เฉพาะในกรณีที่ไม่สามารถเพิ่มสไตล์ที่ต้องการลงในไฟล์ CSS ได้
ลองดูการเพิ่มคุณสมบัติโดยใช้ตัวอย่างบางส่วน ซีเอสเอสไปยังหน้าเว็บไซต์โดยใช้ jQuery- มาดูข้อดีข้อเสียของสองวิธีหลักในการเปลี่ยนสไตล์บนเพจกัน
หากต้องการเปลี่ยนการตั้งค่าเนื้อหาของหน้าโดยใช้ไลบรารี jQuery จาวาสคริปต์คุณสามารถใช้สองวิธี:
1. การเปลี่ยนแปลงคุณสมบัติส่วนบุคคล
มาเปลี่ยนองค์ประกอบด้วยคุณสมบัติกัน คลาสหนึ่งและ .คลาสสองเมื่อวางเมาส์เหนือองค์ประกอบที่มีคลาส .เว็บไซต์.
$(".ไซต์"). เมาส์โอเวอร์(ฟังก์ชั่น()( $(".class-one, .class-two") . css ("ความกว้าง" , "30%" ) ; $(".class-one, .class-two") . css("ความสูง", "240px"); } ) ; |
การเปลี่ยนชั้นเรียน
วิธีนี้เป็นวิธีที่ดีกว่าและสะดวกกว่าหากคุณต้องการเปลี่ยนคุณสมบัติต่างๆ มากมายโดยใช้ jQuery หากคุณสมบัติทั้งหมดนี้เขียนอยู่ใน ไฟล์ .jsจากนั้นคุณจะสามารถทำให้การอ่านและความเข้าใจโค้ดทั้งหมดซับซ้อนขึ้นได้อย่างมาก เป็นการดีกว่าถ้าเขียนสไตล์ทั้งหมดในไฟล์ CSS และใช้ jQuery เพื่อเปลี่ยนแปลง
เมื่อมีเหตุการณ์เกิดขึ้นเราจะเปลี่ยนรูปแบบ .คลาส-หนึ่งในรูปแบบ .คลาสหนึ่ง .คลาสสอง:
$(".ไซต์"). บน ("mouseover mousemove" , ฟังก์ชั่น () ( $(".คลาสหนึ่ง"). ลบคลาส() addClass("คลาสหนึ่งคลาสสอง"); } ) ; |
หากคุณดูโค้ดด้านบนอย่างละเอียด คุณอาจสงสัยว่าทำไมเราจึงลบคลาสออก คลาสหนึ่งแล้วเราก็คืนมันพร้อมกับอีกอัน
นี่เป็นสิ่งจำเป็นเนื่องจากมีการตัดสินใจในรหัสนี้ .คลาส-หนึ่งใช้เป็น "ทางลัด" เพื่อให้ในอนาคตคุณสามารถประมวลผลองค์ประกอบนี้ได้โดยไม่ต้องจดจำว่ามีคลาสใหม่อะไรบ้าง
ส่งคืนหรือเปลี่ยนแปลงค่า CSS ขององค์ประกอบของหน้าที่เลือก ฟังก์ชั่นนี้มีการใช้งานสี่อย่าง:
ส่งกลับค่า CSS สไตล์ชื่อที่องค์ประกอบที่เลือก หากเลือกหลายองค์ประกอบ ค่าจะถูกนำมาจากองค์ประกอบแรก
CSS-ค่า สไตล์ชื่อจะได้รับการกำหนดค่า ค่าสำหรับองค์ประกอบที่เลือกทั้งหมด
กลุ่มของค่า CSS styleName1, styleName2, ...จะได้รับการกำหนดค่า ค่า1, ค่า2, ...สำหรับองค์ประกอบที่เลือกทั้งหมด
CSS-ค่า สไตล์ชื่อจะได้รับการกำหนดค่าที่ส่งคืนโดยฟังก์ชันที่ผู้ใช้กำหนด ฟังก์ชันนี้ถูกเรียกแยกกันสำหรับแต่ละองค์ประกอบที่เลือก เมื่อเรียก พารามิเตอร์ต่อไปนี้จะถูกส่งไป: ดัชนี— ตำแหน่งขององค์ประกอบในชุด ค่า— ค่าปัจจุบันของค่า CSS สไตล์ชื่อที่องค์ประกอบ
ตัวอย่างการใช้งาน:
ความคิดเห็น: สิ่งสำคัญที่ควรทราบคือการใช้เมธอด .css(styleName) คุณจะได้รับเฉพาะค่า css ขององค์ประกอบแรกจากองค์ประกอบที่เลือกทั้งหมด หากคุณต้องการค่าขององค์ประกอบทั้งหมด คุณควรใช้โครงสร้างเช่น .map() หรือ .each()
ในการดำเนินการ
เรามาค้นหาโลกบ้านเกิดของเราในรายการดาวเคราะห์และไฮไลต์เป็นสีเขียว:
~lt~!DOCTYPE html~gt~ ~lt~html~gt~ ~lt~head~gt~ ~lt~script src="http://code.jquery.com/jquery-latest.js"~gt~~ lt~/script~gt~ ~lt~style~gt~ #list( width:260px; ) .item( width: 250px; height: 20px; float: left; margin: 1px; padding: 3px; สีพื้นหลัง: # EEEEEE; list-style-type:none; ) ~lt~/style~gt~ ~lt~/head~gt~ ~lt~body~gt~ ~lt~ul id = "รายการ"~gt~ ~lt~li class="item"~gt~Mercury~lt~/li ~gt~ ~lt~li class="item"~gt~Venus~lt~/li ~gt~ ~lt~li class="item"~gt~ Earth~lt~/li ~gt~ ~lt~li class="item"~gt~Mars~lt~/li ~gt~ ~lt~li class="item"~gt~Jupiter~lt~/li ~gt ~ ~lt~li class="item"~gt~Satrurn~lt~/li ~gt~ ~lt~li class="item"~gt~Uranus~lt~/li ~gt~ ~lt~li class=" รายการ"~gt~ดาวเนปจูน~lt~/li ~gt~ ~lt~li class="item"~gt~Pluto~lt~/li ~gt~ ~lt~/ul~gt~ ~lt~script~gt~ $("#list .item").css("พื้นหลัง-สี", function(i,val)( if($(this).text() == "Ground") return "#cceecc"; else return val ; )); ~lt~/script~gt~ ~lt~/body~gt~ ~lt~/html~gt~
บันทึกหน้านี้เพื่อทดสอบตัวอย่างด้านล่าง
ไลบรารี jQuery มีวิธีการพิเศษที่สะดวกสบายมากมาย ซึ่งทำให้การทำงานกับสไตล์ CSS ง่ายขึ้นมาก หนึ่งในวิธีการที่ใช้กันอย่างแพร่หลายประเภทนี้คือ วิธีการใช้ CSS()ซึ่งมีคำอธิบายโดยย่อในตารางด้านล่าง:
เมื่อคุณอ่านค่าคุณสมบัติโดยใช้เมธอด css() คุณจะได้รับค่าคุณสมบัติที่องค์ประกอบแรกที่มีอยู่ในวัตถุ jQuery มี ในเวลาเดียวกัน เมื่อคุณตั้งค่าคุณสมบัติ การเปลี่ยนแปลงที่คุณทำจะถูกนำไปใช้กับองค์ประกอบทั้งหมดของชุด ตัวอย่างของการใช้ CSS() วิธีการที่ง่ายที่สุดมีดังต่อไปนี้:
$(function() ( var sizeVal = $("label").css("font-size"); console.log("ขนาดตัวอักษร: " + sizeVal); $("label").css("font- ขนาด", "1.5em"); ));
ในสคริปต์นี้ เราเลือกองค์ประกอบป้ายกำกับทั้งหมด รับค่าของคุณสมบัติขนาดแบบอักษรโดยใช้เมธอด css() และพิมพ์ลงในคอนโซล จากนั้นเราเลือกองค์ประกอบป้ายกำกับทั้งหมดอีกครั้ง และกำหนดค่าใหม่ของคุณสมบัติเดียวกันให้กับองค์ประกอบทั้งหมด
แม้ว่าสคริปต์จะใช้ชื่อจริงของคุณสมบัติ (ขนาดแบบอักษร) และไม่ใช่รูปแบบที่คำนึงถึงขนาดตัวพิมพ์ เช่น แบบฟอร์มรายการที่คุณสมบัตินี้ถูกกำหนดไว้ในวัตถุ HTMLElement (คุณสมบัติ FontSize) ก็ได้รับการยอมรับอย่างถูกต้องเช่นกัน เนื่องจาก jQuery รองรับทั้งสองตัวเลือก
จากการรันสคริปต์นี้ ผลลัพธ์ต่อไปนี้จะแสดงบนคอนโซล:
การตั้งค่าคุณสมบัติเป็นสตริงว่าง ("") เทียบเท่ากับการลบคุณสมบัตินั้นออกจากแอตทริบิวต์ style ขององค์ประกอบ
การตั้งค่าคุณสมบัติ CSS หลายรายการพร้อมกัน
มีสองวิธีในการตั้งค่าคุณสมบัติ CSS หลายรายการพร้อมกัน วิธีแรกคือการสร้างสายโซ่ของการเรียกเมธอด css() ดังที่แสดงด้านล่าง:
$(function() ( $("label").css("font-size", "1.5em").css("color", "blue"); ));
สคริปต์นี้ตั้งค่าคุณสมบัติขนาดตัวอักษรและสี คุณสามารถบรรลุเอฟเฟกต์เดียวกันนี้ได้โดยใช้วัตถุแสดงผล ดังที่แสดงในตัวอย่างด้านล่าง:
$(function() ( var cssVals = ( "font-size": "1.5em", "color": "blue" ); $("label").css(cssVals); ));
ทั้งสองสถานการณ์นำไปสู่ผลลัพธ์เดียวกัน ดังแสดงในรูป:
การตั้งค่าสัมพัทธ์
เมธอด css() ยังสามารถรับค่าสัมพัทธ์เป็นอาร์กิวเมนต์ได้ด้วย เป็นค่าตัวเลขที่นำหน้าด้วยเครื่องหมาย += และ -= และบวกหรือลบออกจากค่าปัจจุบัน เทคนิคนี้สามารถใช้ได้กับค่าตัวเลขเท่านั้น ตัวอย่างที่เกี่ยวข้องได้รับด้านล่าง:
$(function() ( $("label:odd").css("font-size", "+=5") $("label:even").css("font-size", "-=5) ") ));
ค่าสัมพัทธ์จะแสดงในหน่วยเดียวกับค่าคุณสมบัติ ในกรณีนี้ ขนาดแบบอักษรจะเพิ่มขึ้น 5 พิกเซลสำหรับองค์ประกอบป้ายกำกับคี่ และลดลงด้วยจำนวนเท่ากันสำหรับองค์ประกอบป้ายกำกับคู่ ผลลัพธ์จะแสดงในรูป:
การตั้งค่าคุณสมบัติโดยใช้ฟังก์ชัน
คุณสามารถตั้งค่าคุณสมบัติแบบไดนามิกโดยส่งฟังก์ชันไปยังเมธอด css() ตัวอย่างที่เกี่ยวข้องได้รับด้านล่าง:
$(function() ( $("label").css("border", function(index, currentValue) ( if ($(this).closest("#row1").length > 0) ( return " สีแดงทึบหนา"; ) else if (ดัชนี % 2 == 1) ( return "thick double blue"; ) )); ));
อาร์กิวเมนต์ที่ส่งผ่านไปยังฟังก์ชันคือดัชนีขององค์ประกอบในชุดและค่าปัจจุบันของคุณสมบัติ ตัวแปรนี้อ้างอิงถึงออบเจ็กต์ HTMLElement ที่สอดคล้องกับองค์ประกอบ และฟังก์ชันจะส่งกลับค่าที่จะตั้งค่า
ใช้วิธีการพิเศษในการทำงานกับคุณสมบัติ CSS
นอกเหนือจากเมธอด css() แล้ว jQuery ยังกำหนดวิธีการพิเศษอีกหลายวิธีในการรับหรือตั้งค่าของคุณสมบัติเฉพาะ รายการวิธีการเหล่านี้แสดงไว้ในตารางด้านล่าง:
วิธี | คำอธิบาย |
---|---|
ความสูง() | ส่งกลับความสูง (เป็นพิกเซล) ขององค์ประกอบแรกที่มีอยู่ในวัตถุ jQuery |
ความสูง(ค่า) | กำหนดความสูงขององค์ประกอบทั้งหมดที่มีอยู่ในวัตถุ jQuery |
ความสูงภายใน() | ส่งกลับความสูงที่แท้จริง (นั่นคือความสูงขององค์ประกอบ รวมถึงช่องว่างภายใน แต่ไม่รวมเส้นขอบและระยะขอบ) ขององค์ประกอบแรกที่มีอยู่ในวัตถุ jQuery |
ความกว้างภายใน() | ส่งกลับความกว้างที่แท้จริง (นั่นคือความกว้างขององค์ประกอบ รวมถึงช่องว่างภายใน แต่ไม่รวมเส้นขอบและระยะขอบ) ขององค์ประกอบแรกที่มีอยู่ในวัตถุ jQuery |
ชดเชย() | ส่งกลับพิกัดขององค์ประกอบแรกที่มีอยู่ในวัตถุ jQuery สัมพันธ์กับจุดเริ่มต้นของเอกสาร |
ความสูงด้านนอก (boolean_value) | ส่งกลับความสูงขององค์ประกอบแรกที่มีอยู่ในวัตถุ jQuery รวมทั้งช่องว่างภายในและเส้นขอบ อาร์กิวเมนต์กำหนดว่าควรคำนึงถึงขนาดของฟิลด์ในกรณีนี้หรือไม่ |
ด้านนอกกว้าง (boolean_value) | รับความกว้างขององค์ประกอบแรกที่มีอยู่ในวัตถุ jQuery รวมถึงช่องว่างภายในและเส้นขอบ อาร์กิวเมนต์กำหนดว่าควรคำนึงถึงขนาดของฟิลด์ในกรณีนี้หรือไม่ |
ตำแหน่ง() | ส่งกลับพิกัดขององค์ประกอบแรกที่มีอยู่ในวัตถุ jQuery สัมพันธ์กับองค์ประกอบหลักที่มีประเภทตำแหน่งที่ระบุ |
scrollLeft(), scrollTop() | รับค่าเลื่อนด้านซ้ายหรือด้านบนสำหรับองค์ประกอบแรกที่มีอยู่ในวัตถุ jQuery |
scrollLeft (ค่า), scrollTop (ค่า) | ตั้งค่าการเลื่อนเลื่อนด้านซ้ายหรือด้านบนสำหรับองค์ประกอบทั้งหมดที่มีอยู่ในวัตถุ jQuery |
ความกว้าง() | รับความกว้างขององค์ประกอบแรกที่มีอยู่ในวัตถุ jQuery |
ความกว้าง(ค่า) | กำหนดความกว้างสำหรับองค์ประกอบทั้งหมดที่มีอยู่ในวัตถุ jQuery |
ความสูง(ฟังก์ชัน) ความกว้าง(ฟังก์ชัน) | ตั้งค่าความสูงหรือความกว้างขององค์ประกอบทั้งหมดที่มีอยู่ในวัตถุ jQuery โดยใช้ฟังก์ชัน |
ชื่อของวิธีการเหล่านี้ส่วนใหญ่อธิบายได้ในตัว แต่บางวิธีจำเป็นต้องมีคำอธิบายเพิ่มเติม วิธีการ ชดเชย()และ ตำแหน่ง()คืนวัตถุที่มีคุณสมบัติ สูงสุดและ ซ้ายซึ่งระบุตำแหน่งขององค์ประกอบ ตัวอย่างการใช้ตำแหน่ง () วิธีการได้รับด้านล่าง
สวัสดีตอนบ่ายทุกคน วันนี้ตามที่ผมสัญญาไว้ในบทเรียน เราจะมาดูวิธีการที่ใช้ในการจัดการกัน ซีเอสเอสสไตล์โดยใช้ jQuery.
ฉันขอเตือนคุณว่าด้วยความช่วยเหลือของสไตล์ เราไม่เพียงแต่สามารถกำหนดลักษณะที่ปรากฏขององค์ประกอบบนหน้าเว็บเท่านั้น แต่ยังควบคุมตำแหน่ง แสดงและซ่อนได้ตามต้องการ เปลี่ยนขนาด และอื่นๆ อีกมากมาย พูดเชิงเปรียบเทียบคือผู้ที่เข้าถึงการจัดการสไตล์ ซีเอสเอส, เขาควบคุมหน้าเว็บเอง! ก jQueryมอบโอกาสนี้ให้กับผู้ใช้!
ใน jQueryมีวิธีการสามประเภท: บางวิธีจัดการองค์ประกอบที่เลือก, บางวิธีส่งคืนค่าองค์ประกอบ และบางวิธีแก้ไของค์ประกอบด้วยตนเอง
หากต้องการเพิ่มสไตล์ให้กับองค์ประกอบใด ๆ คุณต้องใช้วิธีการต่อไปนี้: .css(ชื่อ,ค่า)
มาเปลี่ยนรูปแบบของชื่อบทความก่อนที่เราจะไปไกลจากด้านบนของหน้ามากเกินไป ลองทำสีแดง:
.$("#title".css("color", "#cc0000");
ในตัวอย่างนี้ ฉันเลือกองค์ประกอบที่มีรหัส รหัส = "ชื่อ"ซึ่งมีหน้าที่แสดงชื่อเว็บไซต์และรูปแบบที่เพิ่มเข้ามา เช่น สี. และปุ่มมีหน้าที่รับผิดชอบในการใช้หรือคืนรูปแบบเริ่มต้น
พารามิเตอร์สามารถเป็นชื่อและค่าที่เกี่ยวข้องได้ CSS: พื้นหลัง เส้นขอบ ลักษณะแบบอักษร สีฯลฯ
หากคุณต้องการระบุหลายรายการสำหรับองค์ประกอบหนึ่ง ซีเอสเอส-กฎ จะดีกว่าถ้าใช้โครงสร้างต่อไปนี้:
.css((คุณสมบัติ))
$("#text").css(( "color" : "blue", "fontStyle" : "italic", "font-weight" : 900 ));
คำแนะนำนี้จะเปลี่ยนสีข้อความของย่อหน้าก่อนหน้าเป็นสีน้ำเงินและตั้งค่าน้ำหนักแบบอักษรเป็น 900
โปรดทราบว่าสำหรับคุณสมบัติที่ซับซ้อน ซีเอสเอสชอบ น้ำหนักแบบอักษรและ สีพื้นหลังเทียบเท่าของพวกเขาจาก JavaScript: น้ำหนักตัวอักษร, สีพื้นหลังฯลฯ
เพื่อสาธิตวิธีการทำงานกับสไตล์อื่น ๆ ฉันจะใช้ความช่วยเหลือของสี่เหลี่ยมหลากสีซึ่งเคยให้บริการฉันมาแล้วหลายครั้งในบทเรียนเช่นและ
ฉันขอเตือนคุณถึงโค้ดและสไตล์สำหรับการสร้าง:
รหัส HTML:
สไตล์ CSS:
DivRel (ตำแหน่ง:ญาติ; ความกว้าง:600px; ความสูง:275px; เส้นขอบ:จุด 1;).ใหญ่ (ตำแหน่ง:สัมบูรณ์; ความกว้าง:200px; ความสูง:200px; ซ้าย:200px; ด้านบน:50px; สีพื้นหลัง:สีแดง; เส้นขอบ :solid 1px white; color:white; text-align:right; z-index:1;) .red (ตำแหน่ง:สัมบูรณ์; ความกว้าง:100px; ความสูง:100px; ด้านบน:50px; สีพื้นหลัง:สีแดง ; เส้นขอบ:ทึบ 1px สีขาว; text-align:right; z-index:1; .green (ตำแหน่ง: สัมบูรณ์; ความกว้าง: 100px; ซ้าย: 250px; ด้านบน: 75px; สีพื้นหลัง: สีเขียว; เส้นขอบ: ทึบ 1px สีขาว; ขวา; z-index:2;) .blue (ตำแหน่ง:สัมบูรณ์; ความกว้าง:100px; ซ้าย:300px; ด้านบน:100px; พื้นหลัง -สี:สีน้ำเงิน; เส้นขอบ:ทึบ 1px สีขาว;สี:สีขาว; z-index:3;
พิจารณาลบและกำหนดองค์ประกอบบางส่วน ซีเอสเอส-ระดับ:
.removeClass (คลาส)
.addClass(คลาส)
$("#style2").click(function())( $("#divRel1 > div:first").removeClass(); )); $("#rstyle2").click(function())( $("#divRel1 > div:first").addClass("big"); ));
คำแนะนำในการกดปุ่มเหล่านี้: "ลบชั้นเรียน"จะลบคลาสออกจากองค์ประกอบลูกแรกที่มีอยู่ในตัวระบุ id="divRel1"และเพิ่มคลาสลงไป คลาส = "ใหญ่"หลังจากคลิกปุ่ม: "เพิ่มชั้นเรียน".
วิธีการต่อไปนี้จะเพิ่มคลาสที่ระบุให้กับองค์ประกอบหากไม่มีอยู่ หรือลบคลาสนี้หากองค์ประกอบนั้นมีอยู่แล้ว:
.toggleClass(คลาส)
ลองคลิกด้วยเมาส์ภายในกรอบรอบๆ สี่เหลี่ยมสีต่างๆ สีพื้นหลังจะสลับกัน
$("#divRel1").click(function () ( $(this).toggleClass("สีเหลือง"); ));
และคุณสามารถรับ (บรรทัดแรก) และตั้งค่า (บรรทัดที่สอง) ความกว้างและความสูงขององค์ประกอบองค์ประกอบตามลำดับโดยใช้วิธีการ:
.ความกว้าง()
.ความกว้าง(ค่า)
.ความสูง()
.height(ค่า)
$("#divRel1 > div:last").toggle(function())( $ (this).width(200).height(170); ),function())( $ (this).width(100) .ความสูง (100));
รหัสที่แสดงด้านบนเลือกอันหลัง :ล่าสุดองค์ประกอบตัวระบุ id="divRel1"และใช้สวิตช์ สลับเปลี่ยนแปลงหรือเรียกคืนค่าเริ่มต้นเมื่อคุณคลิกที่สี่เหลี่ยมสีน้ำเงิน คำแนะนำเครื่องมือสไตล์มีคุณสมบัติที่กำหนดไว้: เคอร์เซอร์:ตัวชี้.
นี่เป็นคุณลักษณะที่น่าสนใจและสำคัญของวิธีการนี้ jQuery: ใช้สำหรับ การมอบหมายงานพารามิเตอร์ และสำหรับ การรับค่าของพารามิเตอร์เหล่านี้.
แต่นั่นไม่ใช่ทั้งหมด! jQueryอนุญาตให้ลบได้หากจำเป็น ซีเอสเอส-ไฟล์ที่เกี่ยวข้องกับ HTML- เพจและลิงก์อันใหม่:
$("link").attr("href", "Alternative.css");
ลองเปลี่ยนสไตล์หรือโค้ดตามดุลยพินิจของคุณ jQuery- ฉันสงสัยว่าคุณทำอะไรได้บ้าง?
วันที่: 2011-06-28
ทวีต | ชอบ |
ความคิดเห็นในหมายเหตุ:
บทความที่ดี ทุกอย่างชัดเจน ขอบคุณ
นี่คือเหตุผลว่าทำไมเราจึงรับสมัครพนักงานที่อยู่ห่างไกลซึ่งมาทำงาน กล่าวคือ ให้ไลค์และรับค่าตอบแทน
คุณเพียงแค่ต้องลงทะเบียนในบริการของเรา > www.oplata-vklike.tk<
เราเสนองานให้คุณโดยไม่ต้องลงทุนโดยใช้ระบบรับและประมวลผลคำสั่งซื้อโดยอัตโนมัติ
เราให้บริการ:
ซอฟต์แวร์ลิขสิทธิ์ของเรา
- เอกสารพร้อมข้อมูลเพิ่มเติมที่จำเป็นทั้งหมด ข้อมูล.
- การสนับสนุนทางเทคนิคอย่างต่อเนื่อง
จ่ายตั้งแต่ 5500 ต่อวัน ชำระเงินทุกวัน
ข้อมูลรายละเอียดเพิ่มเติมบนเว็บไซต์ของเรา >> obrabotka.zarplatt.ru<<
บริการของเรามอบไลค์ภาพถ่ายให้กับลูกค้าที่ยินดีจ่ายเพื่อคุณภาพ
เพื่อเป็นพนักงานระยะไกลของเราและเริ่มชอบพร้อมรับ 45 รูเบิลต่อ 1 ไลค์
คุณเพียงแค่ต้องลงทะเบียนในบริการของเรา > http://oplata-vklike.tk/<
ถอนเงินที่ได้รับทุกวันภายในไม่กี่นาที
งานมั่นคง พร้อมอบรม เงินเดือนสูง!
คุณทำงานจากที่บ้าน! ซื่อสัตย์และโปร่งใสโดยสมบูรณ์
มีให้สำหรับทุกคน - ไม่ว่าคุณจะเป็นใครหรือมีประสบการณ์อะไรบนอินเทอร์เน็ต!
คุณจะได้รับ: มากกว่าสี่พันรูเบิลต่อวัน!
ความยาก: ง่าย!
การชำระเงิน: - ในวันถัดไปเงินจะเข้าบัญชีของคุณ!
อ่านข้อกำหนดและเงื่อนไขบนเว็บไซต์ของเรา > realno-money.tk< Скопируйте и вставьте в адресную строку Вашего браузера.
บริการของเรามอบไลค์ภาพถ่ายให้กับลูกค้าที่ยินดีจ่ายเพื่อคุณภาพ
นี่คือเหตุผลว่าทำไมเราถึงรับสมัครพนักงานที่อยู่ห่างไกลที่จะทำงาน กล่าวคือ ให้ไลค์และรับเงินจากมัน
เพื่อเป็นพนักงานระยะไกลของเราและเริ่มชอบพร้อมรับ 45 รูเบิลต่อ 1 ไลค์
คุณเพียงแค่ต้องลงทะเบียนในบริการของเรา > oplata-vklike.tk<
ถอนเงินที่ได้รับทุกวันภายในไม่กี่นาที
ทำงานผ่านอินเทอร์เน็ตโดยจ่ายเงินรายวันสูงถึง 11,000 รูเบิล
ลงทะเบียนบนเว็บไซต์ของเรา > www.airline-rabota.tk<
ฉันแนะนำ. งานที่น่าตื่นเต้นบนอินเทอร์เน็ต ไม่มีประสบการณ์ รายได้ที่มั่นใจจาก 5,000 รูเบิล ต่อวัน. ระบบนี้เป็นที่เข้าใจได้สำหรับทุกคนอย่างแน่นอน
คุณไม่จำเป็นต้องทำงานทั้งวัน! การอุทิศเวลาสองสามชั่วโมงต่อวันในการทำงานก็เพียงพอแล้ว
หยุดคิดว่าคุณไม่สามารถสร้างรายได้บนเวิลด์ไวด์เว็บ คุณสามารถสร้างรายได้บนอินเทอร์เน็ตได้!
ด้วยวิธีที่ง่ายและเข้าใจได้สำหรับทุกคน สิ่งที่สำคัญที่สุดคือการซื่อสัตย์!
คุณสามารถตั้งค่าโหมดการทำงานได้ด้วยตัวเอง
ข้อมูลรายละเอียดเพิ่มเติมอยู่ในเว็บไซต์ของเรา > http://oplata-vklike.tk< скопируйте и вставьте в адресную строку вашего браузера.
นี่คือเหตุผลว่าทำไมเราถึงรับสมัครพนักงานที่อยู่ห่างไกลที่จะทำงาน กล่าวคือ ให้ไลค์และรับเงินจากมัน
เพื่อเป็นพนักงานระยะไกลของเราและเริ่มชอบพร้อมรับ 45 รูเบิลต่อ 1 ไลค์
คุณเพียงแค่ต้องลงทะเบียนในบริการของเรา > http://oplata-vklike.tk/<
ถอนเงินที่ได้รับทุกวันภายในไม่กี่นาที
บริการพิเศษที่จะช่วยให้คุณได้รับเงินกู้จากนักลงทุนเอกชนตลอดจนสถาบันสินเชื่อ เหมาะสำหรับทั้งบริษัทและบุคคลทั่วไป
กู้ยืมจากนักลงทุนเอกชน
บริษัทของเราช่วยพบปะนักลงทุนและผู้กู้ยืม
ติดต่อโดยตรงกับนักลงทุน
ประวัติเครดิตใดๆ
สิ่งที่คุณต้องมีคือหนังสือเดินทาง
เราทำงานร่วมกับบุคคลและบริษัท
ภูมิภาคใดก็ได้
จำนวน 5,000 ถึง 50,000,000 รูเบิล
อัตราการอนุมัติ 97%
ข้อดี:
ไม่มีหลักประกันหรือการรับประกัน!
- อัตรา - เริ่มต้นเพียง 1% ต่อเดือน!
- ไม่มีค่าธรรมเนียมหรือค่าคอมมิชชั่นแอบแฝง!
ส่งใบสมัครบนเว็บไซต์ของเรา > www.ch-investor.tk<
บริการของเรามอบไลค์ภาพถ่ายให้กับลูกค้าที่ยินดีจ่ายเพื่อคุณภาพ
นี่คือเหตุผลว่าทำไมเราถึงรับสมัครพนักงานที่อยู่ห่างไกลที่จะทำงาน กล่าวคือ ให้ไลค์และรับเงินจากมัน
เพื่อเป็นพนักงานระยะไกลของเราและเริ่มชอบพร้อมรับ 45 รูเบิลต่อ 1 ไลค์
คุณเพียงแค่ต้องลงทะเบียนในบริการของเรา > http://oplata-vklike.tk/<
ถอนเงินที่ได้รับทุกวันภายในไม่กี่นาที
บริษัทชั้นนำในรัสเซียและประเทศ CIS ในการขายตั๋วเครื่องบิน
บริษัทระหว่างประเทศที่ใหญ่ที่สุดที่จำหน่ายตั๋ว A/V
กำลังรับสมัครพนักงานแบบถาวรเพื่อความเรียบง่าย
ทำงานผ่านอินเทอร์เน็ตโดยชำระเงินรายวันจาก 11,000 รูเบิล
การทำงานในบริษัทของเราคุณจะได้รับ:
การปฏิบัติตามประมวลกฎหมายแรงงาน
- สวัสดิการครบ, ลาพักร้อน, ลาป่วย, สถานพยาบาล
- พนักงานที่บ้านของเราแต่ละคนมีรายได้สูงอย่างแน่นอน ถู. ต่อวัน.
- รับประกันการจ่ายเงินที่ได้รับอย่างมั่นคง
- การชำระเงินเกิดขึ้นทุกวันผ่านบัตรธนาคารหรือกระเป๋าเงินอิเล็กทรอนิกส์
ลงทะเบียนบนเว็บไซต์ของเรา > http://airline-rabota.tk/<
ไม่ต้องลงทุน ไม่ต้องมีประสบการณ์หรือทักษะทางวิชาชีพ!