ถามเรื่อง jquery overlay หน่อยครับ

ถาม-ตอบ แนะนำไอเดียว โค้ดตัวอย่าง แนวทาง วิธีแก้ปัญหา ถามเรื่อง jquery overlay หน่อยครับ

ถามเรื่อง jquery overlay หน่อยครับ

 พีดีลองนำไปใช้งานจะใส่ภาพแสดงเป็น box แต่เจอปัญหาคือว่า ภาพมันจางไปเลยครับ คืออยากให้ตรงรูปภาพมันไม่จางอ่ะครับนี้คือคำสั่งที่ดัดแปลงเล็กน้อยครับไม่รู้ว่าถูกหรือเปล่า

$(function(){

var OverlayObj="<div class='overlay'><div class='alertBox'></div></div>";

$("#btAddOverlay").ready(function(){

$(document.body).prepend(OverlayObj);

$("div.overlay").css({

position:"absolute",  

top:0,

left: 0,   

background:"#000",   

width:"100%", 

height:$(document).height(),   

opacity:.8

});

$("div.alertBox").animate({

marginTop:250

},500).html("<img src='images/iconweb/banner-promotion.jpg'>)");

$("div.alertBox").bind('click',function(){

$("div.overlay").fadeOut("fast");

});

});

});

พอลองปรับค่า opacity:.8 ดูมันนี้ถ้ามากไปขอบด้านนอกก็มืดเกินไปก็เลยไม่รู้ว่าจะปรับตรงไหนครับช่วยชี้แนะทีครับ



Cpuhost 29-05-2010 15:40:43

คำแนะนำ และการใช้งาน

สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก


  • ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ
  • เปลี่ยน


    ( หรือ เข้าใช้งานผ่าน Social Login )

 ความคิดเห็นที่ 1

จากตัวอย่าง ตามลิ้งค์ด้านล่าง น่าจะมีปัญหา เกี่ยวกับ การแสดงข้อมูลภายใน overlay

https://www.ninenik.com/ประยุกต์การทำ_overlay_เพจ_กับกล่องข้อความ_ด้วย_jQuery-246.html

ให้ปรับตามนี้ดู

CSS Code ตัวอย่าง
 

1
2
3
4
5
6
7
8
9
10
11
<style type="text/css">
div.alertBox{
    border:5px solid #33CC00;
    background-color:#F5FEED;
    width:300px;
    text-align:center;
    margin:auto;
    position:fixed;
    z-index:1000;  
}
</style>

HTML Code ตัวอย่าง
 

1
<input type="button" name="btAddOverlay" id="btAddOverlay" value="ตัวอย่างคลิก" />

jQuery Code ตัวอย่าง
 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<script type="text/javascript" src="js/jquery-1.4.1.min.js"></script>
<script type="text/javascript">
$(function(){
    var OverlayObj="<div class='alertBox'></div><div class='overlay'></div>";
    $("#btAddOverlay").click(function(){
        $(document.body).prepend(OverlayObj);
        $("div.overlay").css({
                position:"absolute"
                top:0,
                left: 0,  
                background:"#000",  
                width:"100%",
                height:$(document).height(),  
                opacity:.7         
        });    
        $("div.alertBox").css("left",($(window).width()*0.5)-($("div.alertBox").width()*0.5))
        .animate({
            marginTop:150
        },500).html("<img src=https://www.ninenik.com/demo/images/sample_banner01.jpg />");
        $("div.alertBox").bind('click',function(){
            $("div.overlay").fadeOut("fast");
            $(this).fadeOut("fast");
        });    
    });
});
</script>

ตัวอย่างผลลัพธ์
 



ninenik 29-05-2010
 ความคิดเห็นที่ 2

ขอบคุณมากครับ แต่ว่า พอ Run ดูใน IE6 มันเพี้ยนครับรูปภาพมันแสดงตรงส่วนหัวสุดแล้วก็คลิกอะไรไม่ได้เลยครับ

รบกวนอีกรอบครับ ขอบคุณครับ



cpuhost 31-05-2010 13:12
 ความคิดเห็นที่ 3

ไม่แน่ใจว่าเป็นที่ bug ของ IE6 หรือป่าว

ให้เปลี่ยนโค้ดในบรรทัดที่ 4 ของ jQuery Code ตัวอย่าง
จาก
 

1
var OverlayObj="<div class='alertBox'></div><div class='overlay'></div>";


เป็น
 

1
var OverlayObj="<div class='alertBox' style='position:absolute;z-index:1000;'></div><div class='overlay'></div>";

 



ninenik 31-05-2010
1






เว็บไซต์ของเราให้บริการเนื้อหาบทความสำหรับนักพัฒนา โดยพึ่งพารายได้เล็กน้อยจากการแสดงโฆษณา โปรดสนับสนุนเว็บไซต์ของเราด้วยการปิดการใช้งานตัวปิดกั้นโฆษณา (Disable Ads Blocker) ขอบคุณครับ