使用JQuery和CSS扩展/缩小Div

时间:2011-05-17 20:47:08

标签: jquery css html expand

我正在尝试使用JQuery和CSS来允许用户浏览不同大小图像的“墙”。

基本上,当用户将鼠标悬停在图像上时,我希望它扩展(当前正在工作),我希望div的宽度也增加,以显示一些额外的信息。出于某种原因,当我在这一点上盘旋时,有一些非常时髦的行为,当我鼠标移开时,图像完全关闭。我有一种感觉,我在那里错过了一个“停止”,但我无法弄清楚在哪里。有人可以看看吗?

JQuery的:

jQuery(function($){
                $('.bar').mosaic({
                    animation   :   'slide'
                });
            });

HTML:

<div class="MBT-CSS3">
        <!--Bar-->
        <div class="mosaic-block bar">
            <a href="http://buildinternet.com/project/mosaic" target="_blank" class="mosaic-overlay">

                    <h4>This video is really cool!  Click to watch more!</h4>
                    <p>by Media Innovation Team</p>

            </a>


            <!-- <img src="http://buildinternet.s3.amazonaws.com/projects/mosaic/mosaic.jpg"/> -->
            <img src="img/grad1.png"/>

        </div>
  </div>

        <div class="clearfix"></div>

CSS

.MBT-CSS3 div{
-webkit-transform:scale(0.7); /*Webkit 0.7 times the original Image size*/
-moz-transform:scale(0.7); /*Mozilla 0.7 times the original Image size*/
-o-transform:scale(0.7); /*Opera 0.7 times the original Image size*/
-webkit-transition-duration: 0.5s; /*Webkit: Animation duration*/
-moz-transition-duration: 0.5s; /*Mozilla Animation duration*/
-o-transition-duration: 0.5s; /*Opera Animation duration*/
/*opacity: 0.5;
z-index: 1;*/
position:relative;
overflow:hidden;
background-color:#000;
width: auto;
height: auto;
/*margin: 0 10px 5px 0; */
}
.MBT-CSS3 div:hover{
-webkit-transform:scale(1.1); /*Webkit: 0.5 times the original Image size*/
-moz-transform:scale(1.1); /*Mozilla 0.5 times the original Image size*/
-o-transform:scale(1.1); /*Opera 0.5 times the original Image size*/
/*box-shadow:0px 0px 30px gray;
-webkit-box-shadow:0px 0px 30px gray;
-moz-box-shadow:0px 0px 30px gray; */
opacity: 1;
z-index: 100;
width:600px;
/*height:250px; */  
}

感谢任何可能提供帮助的人!!!!我非常感谢你的时间!

3 个答案:

答案 0 :(得分:0)

你的第一个问题是:hover。发生的事情是动画播放,并且由于新的维度/位置,您不再在元素上盘旋。因此,移除悬停并重复循环。

答案 1 :(得分:0)

试试这个:         

                $(document).ready(function(){
          var busy = 0;
          $('.MBT-CSS3').mouseover(function(){
              if(!busy)
                  {
                      busy = 1;                      
                    $('#img').animate({
                   '-webkit-transform':'scale(1.1)',
                    '-moz-transform':'scale(1.1)',
                    '-o-transform':'scale(1.1)',
                    'opacity': '1',
                    'z-index': '100',
                    'width' : '600'
                  }, function(){busy = 0;});
                  }
          });
          $('.MBT-CSS3').mouseout(function(){
          if(!busy)
              {
                  busy = 1;                      
                    $('#img').animate({
                   '-webkit-transform':'scale(.7)',
                    '-moz-transform':'scale(.7)',
                    '-o-transform':'scale(.7)',
                    'opacity': '0.5',
                    'z-index': '1',
                    'width' : '300'
                  }, function(){busy = 0;});
              }
          });
      });

应该工作。我确实在您使用的图像上添加了id="img"。希望这可以帮助!您可以根据需要添加/删除/编辑任何属性。 同时删除了CSS的整个.MBT-CSS3 :hover部分。 为整个'MBT-CSS3'课程编辑,抱歉:)

答案 2 :(得分:0)

非常感谢你的帮助。我实际上通过设置初始div的特定宽度和高度来实现它。

所以我确实有:

position:relative;
overflow:hidden;
background-color:#000;
width: auto;
height: auto;
/*margin: 0 10px 5px 0; */
}

我把它改为:

position:relative;
overflow:hidden;
background-color:#000;
width: 350;
height: 250;
/*margin: 0 10px 5px 0; */
}

并且效果很好。我非常感谢您的所有时间并为此提供帮助!你们真棒!