Расширение / сжатие Div с использованием JQuery и CSS - PullRequest
1 голос
/ 18 мая 2011

Я пытаюсь использовать 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 голосов
/ 18 мая 2011

Попробуйте:

                $(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" к изображению, которое вы использовали.Надеюсь это поможет!Вы можете добавлять / удалять / редактировать любые атрибуты, как вам нравится.Также удалена вся .MBT-CSS3 :hover часть вашего CSS.Отредактировано для всего класса 'MBT-CSS3', извините:)

0 голосов
/ 18 мая 2011

Большое спасибо за помощь. Я на самом деле получил его, просто установив определенную ширину и высоту начального 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; */
}

и это прекрасно работало. Я очень ценю все ваше время и помогаю с этим! Вы, ребята, потрясающие!

0 голосов
/ 18 мая 2011

Ваша первая проблема - :hover.Происходит то, что анимация воспроизводится, и вы больше не зависаете над элементом из-за новых размеров / позиции.Таким образом, зависание удаляется и цикл повторяется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...