IE位置问题的工具提示

时间:2010-09-27 18:11:02

标签: jquery css tooltip

以下是我用于工具提示的一些代码,这些代码悬停在其元素之上,因此它不会在下面弹出并强制用户滚动查看它。它在除IE之外的所有浏览器中都能正常工在IE中,它位于元素下方而不是在元素上方。

如何使用IE修复定位错误?我很难过。

<style type="text/css"> 
.ToolTip 
{
    border: 2px solid black;
    background:#fff;
    display:none;
    padding:10px;
    width: 325px;

    z-index:1000;
    -moz-border-radius:4px;
}
</style> 

    <script language="javascript" type="text/javascript">
        $(document).ready(function () {


    $(".tip_holder").hover(
                function () {
                    var $containerWidth = $(this).width();
                    var $offset = $(this).offset();

                    $('#ToolTipPopUp')
                        .prepend('<div id="tooltip" class="ToolTip">' + $("#ToolTipHolder").text() + '</div>');

                    var $tipWidth = $('#tooltip').width();
                    var $tipHeight = $('#tooltip').height();

                    $('#tooltip').css({
                        'top': $offset.top - ($tipHeight + 15),
                        'left': $offset.left - ($tipWidth - $containerWidth) / 2,
                        'position': 'absolute',
                        'display': 'block'
                    });

                },
                function () {
                    $('#tooltip').remove();
                }
            );

        });

    </script>


<img src="/Content/Images/WhatsThis.png" class="tip_holder" />
                    <div>
                        <div id="ToolTipPopUp"></div>     
                        <span id="ToolTipHolder" style="display:none;">For Visa, MasterCard
                            and Discover, the card verification number is a 3-digit security code that is printed
                            on the back of your card.
                            <br />
                            <br />
                            For American Express, the card verification number is 4-digits and appears on the
                            front of the card. The number appears on the signature strip after the last four
                            digits of your account number. 
                        </span>
                    </div>

1 个答案:

答案 0 :(得分:2)

IE会让你疯狂。如果您不介意使用javascript来解决问题,可以使用http://rafael.adm.br/css_browser_selector/,或者您可以使用条件语句为IE使用不同的样式表:<!--[if IE 8]> link your stylesheet here <![endif]-->您可以使用几个不同版本的if IE语句,只是google“IE if statements”。