1

その上に境界線のある画像があり、画像にカーソルを合わせるとそれらの間をスライドするキャプションが必要です。思い通りに動作させることができません。私が持っているのはこれです:

<!DOCTYPE html>
<html>
    <head>
        <meta content="text/html;charset=utf-8" http-equiv="Content-Type">
        <meta content="utf-8" http-equiv="encoding">

        <link href="style.css" rel="stylesheet" type="text/css" />

        <script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7.2.min.js " type="text/javascript"></script>
        <script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.9/jquery.validate.min.js" type="text/javascript"></script>
        <script src="http://ajax.aspnetcdn.com/ajax/mvc/3.0/jquery.validate.unobtrusive.js" type="text/javascript"></script>

        <script type="text/javascript">
            $(document).ready(function(){
                $('.boxGrid').hover(function(){
                    $('.boxCaption', this).stop().animate({bottom:'0px'},{queue:false,duration:300});
                }, function() {
                    $('.boxCaption', this).stop().animate({bottom:'-121px'},{queue:false,duration:300});
                });
            });
        </script>
    </head>
    <body>
        <div class="wrapper">
            <div class="boxGrid"></div>
            <div class="buttonBack blogImg">
                <div class="boxCaption">
                    <h3>Top-Blog</h3>
                </div>
            </div>
        </div>
    </body>
</html>

CSS

.wrapper
{
    position: relative;
    width: 226px;
    height: 246px;
}

.boxGrid
{
    width: 226px;
    height: 246px;
    background-image: url(http://s10.postimage.org/z2cp1i70p/button_Border.png);
    position: absolute;
    top: 0px;
    left: 0px;
    z-index: 100;
}

.buttonBack
{
    position: absolute;
    top: 12px;
    left: 13px;
    border: 0px;
    width: 200px;
    height: 223px;
    z-index: 50;
    overflow: hidden;
}

.blogImg
{
    background-image: url(http://s10.postimage.org/jflfo4t8p/blog_Button.png);
}

.boxCaption
{
    position: absolute;  
    background: url(http://s10.postimage.org/c2an2wykp/caption.png);
    height: 121px;
    width: 100%;
    bottom: -121px;
    text-align: center;
}

.boxCaption h3
{
    font-size: 30px;
    color: #fff;
}

しかし、このように html と jQuery を調整すると、次のように動作します。

<!DOCTYPE html>
<html>
    <head>
        <meta content="text/html;charset=utf-8" http-equiv="Content-Type">
        <meta content="utf-8" http-equiv="encoding">

        <link href="style.css" rel="stylesheet" type="text/css" />

        <script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7.2.min.js " type="text/javascript"></script>
        <script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.9/jquery.validate.min.js" type="text/javascript"></script>
        <script src="http://ajax.aspnetcdn.com/ajax/mvc/3.0/jquery.validate.unobtrusive.js" type="text/javascript"></script>

        <script type="text/javascript">
            $(document).ready(function(){
                $('.buttonBack').hover(function(){
                    $('.boxCaption', this).stop().animate({bottom:'0px'},{queue:false,duration:300});
                }, function() {
                    $('.boxCaption', this).stop().animate({bottom:'-121px'},{queue:false,duration:300});
                });
            });
        </script>
    </head>
    <body>
        <div class="wrapper">
            <!--<div class="boxGrid"></div>-->
            <div class="buttonBack blogImg">
                <div class="boxCaption">
                    <h3>Top-Blog</h3>
                </div>
            </div>
        </div>
    </body>
</html>

私がしたことは、 をコメントアウトしdiv.boxGriddiv.buttonBackdiv.boxGrid. div.boxGridそれは私が望んでいることだけではありません。それよりも上にあることを望んでいるので、ホバリングでこの効果が得られます。

私はjsFiddleを作成しましたが、ここでは機能しませんが、このように機能します...

どんな助けでも大歓迎です、私はこれで私の髪を引っ張っています。

4

1 に答える 1

5

あなたのクラスはクラスよりもboxGrid高いです。それを修正してから試してください...z-indexbuttonBack

リンクを参照してください: http://jsfiddle.net/wBjT3/5/

于 2012-12-21T10:08:02.643 に答える