หัวข้อ: ใครเก่ง jquery มาช่วยแก้สคริปหน่อยครับ เริ่มหัวข้อโดย: narupot ที่ 29 สิงหาคม 2015, 21:13:41 ผมมีสคิปอยู่อันนึ่งตามด้านล่างนี้
คือผมอยากจะเพิ่ม review-vga เข้าไป ผมลองก๊อป review-pc แล้ว ด้วยการแก้ pc เป็น vga แต่ก็ไม่สมบูรณ์ ไม่เป็นด้วยแฮะ ใครเก่งๆ ช่วยหน่อยครับ 1 สำหรับน้ำใจครับ <script> jQuery(document).ready(function(){ <?php if($meta_info['review'] == 'pc') { ?> jQuery('#review-options div.review-pc').slideDown(); <?php } if($meta_info['review'] == 'mobile') { ?> jQuery('#review-options div.review-mobile').slideDown(); <?php } if($meta_info['review'] == 'download-software') { ?> jQuery('#review-options div.download-software').slideDown(); <?php } ?> jQuery('#review-none').click(function(){ if(jQuery(this).attr('checked') == 'checked') { jQuery('#review-options div.review-pc').slideUp(); jQuery('#review-options div.review-mobile').slideUp(); } }); jQuery('#review-pc').click(function(){ if(jQuery(this).attr('checked') == 'checked') { if(jQuery('#review-options div.review-mobile').is(':visible')); jQuery('#review-options div.review-mobile').hide(); if(jQuery('#review-options div.download-software').is(':visible')); jQuery('#review-options div.download-software').hide(); jQuery('#review-options div.review-pc').slideDown(); } else { jQuery('#review-options div.review-pc').slideUp(); } }); jQuery('#review-mobile').click(function(){ if(jQuery(this).attr('checked') == 'checked') { if(jQuery('#review-options div.review-pc').is(':visible')); jQuery('#review-options div.review-pc').hide(); if(jQuery('#review-options div.download-software').is(':visible')); jQuery('#review-options div.download-software').hide(); jQuery('#review-options div.review-mobile').slideDown(); } else { jQuery('#review-options div.review-mobile').slideUp(); } }); jQuery('#download-software').click(function(){ if(jQuery(this).attr('checked') == 'checked') { if(jQuery('#review-options div.review-pc').is(':visible')) jQuery('#review-options div.review-pc').hide(); if(jQuery('#review-options div.review-mobile').is(':visible')); jQuery('#review-options div.review-mobile').hide(); jQuery('#review-options div.download-software').slideDown(); } else { jQuery('#review-options div.download-software').slideUp(); } }); }); </script> หัวข้อ: Re: ใครเก่ง jquery มาช่วยแก้สคริปหน่อยครับ เริ่มหัวข้อโดย: darkzard ที่ 29 สิงหาคม 2015, 22:13:17 ผมก็ไม่ได้เก่งนะครับ แต่ดูแล้วพอจะบอกได้คือ
1. ต้องเพิ่มตัวแปล meta_info สำหรับ vga ด้วย 2. เพิ่ม div คลาส review-vga ที่โค้ด html ด้วย ใน jQuery ผมเห็นมี #review-pc แสดงว่าต้องใส่ #review-vga ด้วย มันก็คือ id (ถ้าเป็นการสร้าง div อัตโนมัติ class หรือ id ก็คงจะถูกนำมาใช้แทนด้วยค่าของตัวแปลของ meta) แต่ถ้าไม่ก็ใส่เอาเอง ตัวอย่าง <div class="review-vga"></div> <div id="review-vga"></div> 3. ถ้ามีการใช้ css ปรับแต่ง div ต่างๆ (div.review-pc, div.review-mobile, div.download-software) แล้ว หากคุณเพิ่ม div คลาส review-vga ก็ควรจะเพิ่ม css สำหรับคลาสนี้ด้วย นอกซะจากว่าคลาสนี้ถูกสร้างจากค่าที่กำหนดโดยตัวแปลอัตโนมัติของ meta_info ก็ไม่น่าจะมี css ที่ใช้ปรับแต่ง 4. jQuery เพิ่ม <?php if($meta_info['review'] == 'vga') { ?> jQuery('#review-options div.review-vga').slideDown(); <?php } ?> ส่วนอันนี้ jQuery('#review-none').click(function(){ if(jQuery(this).attr('checked') == 'checked') { jQuery('#review-options div.review-pc').slideUp(); jQuery('#review-options div.review-mobile').slideUp(); <-------เพิ่ม--------> } ---> jQuery('#review-options div.download-software').slideUp(); หายไปไหน อันนี้ไม่รู้ว่ามันต้องใช้ด้วยหรือเปล่านะครับ ถ้าใช้ควรจะมีด้วย ---> jQuery('#review-options div.review-vga').slideUp(); อันนี้ต้องเพิ่มเข้าไป ลองดูครับ 555+ ต่อมา ฟังก์ชั่นรูปแบบนี้ต้องใส่ให้ครบ ตัวอย่าง jQuery('#review-vga').click(function(){ if(jQuery(this).attr('checked') == 'checked') { if(jQuery('#review-options div.review-pc').is(':visible')); jQuery('#review-options div.review-pc').hide(); if(jQuery('#review-options div.download-software').is(':visible')); jQuery('#review-options div.download-software').hide(); if(jQuery('#review-options div.review-mobile').is(':visible')); jQuery('#review-options div.review-mobile').hide(); jQuery('#review-options div.review-vga').slideDown(); } else { jQuery('#review-options div.review-vga').slideUp(); } }); ถ้าเป็นไปตามนี้คงจะไม่มีปัญหาแล้วครับ นอกจากว่าจะมีอย่างอื่น ผมก็ได้แค่นี้แหล่ะ :wanwan009: หัวข้อ: Re: ใครเก่ง jquery มาช่วยแก้สคริปหน่อยครับ เริ่มหัวข้อโดย: narupot ที่ 30 สิงหาคม 2015, 03:23:55 ผมก็ไม่ได้เก่งนะครับ แต่ดูแล้วพอจะบอกได้คือ สคริปเออเร่อ ไม่รู้อะไรผิดฮะ รบกวนช่วยแก้ใหม่ที ไม่ค่อยเข้าใจ ^^1. ต้องเพิ่มตัวแปล meta_info สำหรับ vga ด้วย 2. เพิ่ม div คลาส review-vga ที่โค้ด html ด้วย ใน jQuery ผมเห็นมี #review-pc แสดงว่าต้องใส่ #review-vga ด้วย มันก็คือ id (ถ้าเป็นการสร้าง div อัตโนมัติ class หรือ id ก็คงจะถูกนำมาใช้แทนด้วยค่าของตัวแปลของ meta) แต่ถ้าไม่ก็ใส่เอาเอง ตัวอย่าง <div class="review-vga"></div> <div id="review-vga"></div> 3. ถ้ามีการใช้ css ปรับแต่ง div ต่างๆ (div.review-pc, div.review-mobile, div.download-software) แล้ว หากคุณเพิ่ม div คลาส review-vga ก็ควรจะเพิ่ม css สำหรับคลาสนี้ด้วย นอกซะจากว่าคลาสนี้ถูกสร้างจากค่าที่กำหนดโดยตัวแปลอัตโนมัติของ meta_info ก็ไม่น่าจะมี css ที่ใช้ปรับแต่ง 4. jQuery เพิ่ม <?php if($meta_info['review'] == 'vga') { ?> jQuery('#review-options div.review-vga').slideDown(); <?php } ?> ส่วนอันนี้ jQuery('#review-none').click(function(){ if(jQuery(this).attr('checked') == 'checked') { jQuery('#review-options div.review-pc').slideUp(); jQuery('#review-options div.review-mobile').slideUp(); <-------เพิ่ม--------> } ---> jQuery('#review-options div.download-software').slideUp(); หายไปไหน อันนี้ไม่รู้ว่ามันต้องใช้ด้วยหรือเปล่านะครับ ถ้าใช้ควรจะมีด้วย ---> jQuery('#review-options div.review-vga').slideUp(); อันนี้ต้องเพิ่มเข้าไป ลองดูครับ 555+ ต่อมา ฟังก์ชั่นรูปแบบนี้ต้องใส่ให้ครบ ตัวอย่าง jQuery('#review-vga').click(function(){ if(jQuery(this).attr('checked') == 'checked') { if(jQuery('#review-options div.review-pc').is(':visible')); jQuery('#review-options div.review-pc').hide(); if(jQuery('#review-options div.download-software').is(':visible')); jQuery('#review-options div.download-software').hide(); if(jQuery('#review-options div.review-mobile').is(':visible')); jQuery('#review-options div.review-mobile').hide(); jQuery('#review-options div.review-vga').slideDown(); } else { jQuery('#review-options div.review-vga').slideUp(); } }); ถ้าเป็นไปตามนี้คงจะไม่มีปัญหาแล้วครับ นอกจากว่าจะมีอย่างอื่น ผมก็ได้แค่นี้แหล่ะ :wanwan009: 4. jQuery เพิ่ม <?php if($meta_info['review'] == 'vga') { ?> jQuery('#review-options div.review-vga').slideDown(); <?php } ?> ส่วนอันนี้ jQuery('#review-none').click(function(){ if(jQuery(this).attr('checked') == 'checked') { jQuery('#review-options div.review-pc').slideUp(); jQuery('#review-options div.review-mobile').slideUp(); <-------เพิ่ม--------> } ---> jQuery('#review-options div.download-software').slideUp(); หายไปไหน อันนี้ไม่รู้ว่ามันต้องใช้ด้วยหรือเปล่านะครับ ถ้าใช้ควรจะมีด้วย ---> jQuery('#review-options div.review-vga').slideUp(); อันนี้ต้องเพิ่มเข้าไป ลองดูครับ 555+ รบกวนแก้ฉบับสมบูรณ์ได้มั้ยครับ >< นั่งแก้ทั้งคืนยังไม่ได้เลย หัวข้อ: Re: ใครเก่ง jquery มาช่วยแก้สคริปหน่อยครับ เริ่มหัวข้อโดย: darkzard ที่ 30 สิงหาคม 2015, 12:24:13 เอา error มาให้ดูหน่อยครับ
|