0

www.zurb.com の jQuery Reveal プラグインを使用する

html:

<div>
    <a href="#" data-reveal-id="myModal">Click Me For A Modal</a>
</div>
abov div
<div id="myModal" class="reveal-modal">
    <h1>Modal Title</h1>
    <p>Any content could go in here.</p>
    <asp:Label ID="lbl_modalTest" runat="server" ></asp:Label>
    <a class="close-reveal-modal">&#215;</a>
</div>

CSS:

    .reveal-modal-bg { 
    position: fixed; 
    height: 100%;
    width: 100%;
    background: #000;
    background: rgba(0,0,0,.8);
    z-index: 100;
    display: none;
    top: 0;
    left: 0; 
    }

.reveal-modal {
    visibility: hidden;
    top: 100px; 
    left: 50%;
    margin-left: -300px;
    width: 520px;
    background: #eee url(modal-gloss.png) no-repeat -200px -80px;
    position: absolute;
    z-index: 101;
    padding: 30px 40px 34px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 5px;
    -moz-box-shadow: 0 0 10px rgba(0,0,0,.4);
    -webkit-box-shadow: 0 0 10px rgba(0,0,0,.4);
    -box-shadow: 0 0 10px rgba(0,0,0,.4);
    }

.reveal-modal.small         { width: 200px; margin-left: -140px;}
.reveal-modal.medium        { width: 400px; margin-left: -240px;}
.reveal-modal.large         { width: 600px; margin-left: -340px;}
.reveal-modal.xlarge        { width: 800px; margin-left: -440px;}

.reveal-modal .close-reveal-modal {
    font-size: 22px;
    line-height: .5;
    position: absolute;
    top: 8px;
    right: 11px;
    color: #aaa;
    text-shadow: 0 -1px 1px rbga(0,0,0,.6);
    font-weight: bold;
    cursor: pointer;
    } 

jQuery:

$('a[data-reveal-id]').live('click', function (e) {
    e.preventDefault();
    var modalLocation = $(this).attr('data-reveal-id');
    var page = $(this).attr('href');
    var div = ('#' + modalLocation);
    $(div).append('<div><iframe style="border: 0px; " src="www.google.com" width="100%" height="100%"></iframe></div>');
    $(div).reveal($(this).data());
});

FF と Chrome では正常に動作しますが、IE9 では動作しません。

IE9 では、最初にボタンをクリックしてモーダル ポップアップを表示すると、期待どおりにポップアップしますが、追加された iframe ではなく、div の元のコンテンツのみが表示されます。ただし、モーダル ポップアップを閉じてボタンをもう一度クリックすると、モーダル内に 2 つの iframe が表示されます。追加するだけなので、2回目のクリックで2つのiframeが表示されると予想されますが、IE9が最初のクリックで1つのiframeを表示しないのはなぜですか?

4

0 に答える 0