Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: как узнать, как реализован какой-то эффект
 
 автор: rodmial   (21.01.2015 в 14:46)   письмо автору
 
 

если я на сайте увидел какой-то интересный эффект, например при наведении мыши на какой-либо элемент, какой д.б. последовательность действий, чтобы точно узнать, как это реализовано на сайте.

  Ответить  
 
 автор: elenaki   (21.01.2015 в 15:04)   письмо автору
 
   для: rodmial   (21.01.2015 в 14:46)
 

посмотреть код?
подключить голову?

  Ответить  
 
 автор: rodmial   (21.01.2015 в 17:39)   письмо автору
 
   для: elenaki   (21.01.2015 в 15:04)
 

например сайт http://flowersbaza.ru справа сверху кнопка "заказать звонок". Посмотрите, пожалуйста, код и скажите, как реализован эффект, возникающий при наведении на неё.
или ниже "доставляем 9 млн штук цветов ежемесячно". как реализован эффект при наведении на "9 млн"
или как реализовано выдвижение элементов (прокрутите ещё ниже), как только они появляются в поле зрения
и научите в следующий раз это делать самому.
всё, что сейчас приходит по этому поводу в подключённую голову, так это "проинспектировать элемент", посмотреть обработчики событий. но ничего нужного себе найти не могу.

  Ответить  
 
 автор: Mookapek   (21.01.2015 в 18:06)   письмо автору
 
   для: rodmial   (21.01.2015 в 17:39)
 

> и научите в следующий раз это делать самому.

Изучайте эффекты анимации в JQuery и CSS3.

  Ответить  
 
 автор: rodmial   (22.01.2015 в 09:21)   письмо автору
 
   для: Mookapek   (21.01.2015 в 18:06)
 

что значит изучайте? это само собой. я про другое. я имею возможность узнать, как реализован конкретный эффект на конкретном сайте? как мне это сделать?

> и научите в следующий раз это делать самому.
- смысле, научите, как самому найти, как это сделано

  Ответить  
 
 автор: Mookapek   (22.01.2015 в 18:42)   письмо автору
 
   для: rodmial   (22.01.2015 в 09:21)
 

Не знаю, что там в коде на том сайте.

Но с помощью CSS3 можно делать что-то подобное:
<!DOCTYPE html>
<html>
<head>
<title></title>
<style>

div        {
            margin: 0 auto;
            margin-top: 250px;
            width: 100px;
            height: 100px;
            border: 2px solid #e11;
            border-radius: 8px;
            background: #e11;
            transition-property: transform, background, border;
            transition-duration: 1s;
           }

div:hover  {
            transform: scale(1.2);
            background: #11e;
            border: 2px solid #11e;
           }
</style>
<body>

<div></div>

</body>
</html>


В transition-property обозначаем свойства, которые менются при наведении указателя мыши на элемент.
А transition-duration обозначает время трансформации.
transform: scale(1.2) увеличивает элемент в 1.2 раза.

  Ответить  
 
 автор: rodmial   (23.01.2015 в 11:01)   письмо автору
 
   для: Mookapek   (22.01.2015 в 18:42)
 

спасибо. пригодится.
а как еще сделать, чтобы, пока мышка на элементе, он бы сначала увеличивался, потом уменьшался, потом опять увеличивался и т. д.
что у меня не так
<!DOCTYPE HTML>
<html>
  <head>
    <script type="text/javascript" src="jquery-1.11.0.min.js"></script>
    <script type="text/javascript">
      function mzoom_in(){
        jQuery("#my_div").animate({  width: jQuery(this).width()+1,height: jQuery(this).height()+1}, 'slow');
      }
      function mzoom_out(){
        jQuery("#my_div").animate({  width: jQuery(this).width()-1,height: jQuery(this).height()-1}, 'slow');
      }
      jQuery(document).ready(function(){
        w=jQuery("#my_div").width();
        h=jQuery("#my_div").height();
        jQuery('#my_div').hover(
            function(){while(1){mzoom_in();mzoom_out();}/**/},
            function(){jQuery("#my_div").width(w);jQuery("#my_div").height(h);}
        );
     });
    </script>
  </head>
  <body>
        <div id="my_div" style="width:30px;height:30px; border:1px solid red;">1</div>
  </body>
</html>

  Ответить  
 
 автор: Mookapek   (24.01.2015 в 20:02)   письмо автору
 
   для: rodmial   (23.01.2015 в 11:01)
 

<!DOCTYPE html>
<html>
<head>
<title></title>
<style>
#container {
            margin: 0 auto;
            margin-top: 250px;
            width: 100px;
            height: 100px;
           }

#circle    {
            width: 100px;
            height: 100px;
            border-radius: 50px;
            background: #11e;
            opacity: 0.5;
            color: #FFF;
            font-size: 25px;
            display: table-cell;
            vertical-align: middle;
            text-align: center;
           }

@keyframes zoom {
 from { transform: scale(1); }
 50%  { transform: scale(1.2); opacity: 1; background: #e11;}
 to   { transform: scale(1); opacity: 0.5; background: #11e;}
}

#circle:hover {
               animation-name: zoom;
               animation-duration: 1.4s;
               animation-iteration-count: infinite;
              }
</style>
<body>

<div id="container">
<div id="circle">Наведи<br>курсор</div>
</div>

</body>
</html>

  Ответить  
 
 автор: rodmial   (25.01.2015 в 14:21)   письмо автору
 
   для: Mookapek   (24.01.2015 в 20:02)
 

ничего не происходит при наведении курсора на #circle
но всё-таки интересно, почему не работает мой код? подскажите, пожалуйста

  Ответить  
 
 автор: Mookapek   (25.01.2015 в 16:13)   письмо автору
 
   для: rodmial   (25.01.2015 в 14:21)
 

На счет вашего кода - не знаю.
>ничего не происходит при наведении курсора на #circle
Chrome, оказывается, в отличии от Firefox не понимает анимацию без префиксов.
Добавлен префикс -webkit. Протестировано в Firefox и Chrome.
<!DOCTYPE html>
<html>
<head>
<title></title>
<style>
#container {
            margin: 0 auto;
            margin-top: 250px;
            width: 100px;
            height: 100px;
           }

#circle    {
            width: 100px;
            height: 100px;
            border-radius: 50px;
            background: #11e;
            opacity: 0.5;
            color: #FFF;
            font-size: 25px;
            display: table-cell;
            vertical-align: middle;
            text-align: center;
           }

@-webkit-keyframes zoom {
 from { transform: scale(1); }
 50%  { transform: scale(1.2); opacity: 1; background: #e11;}
 to   { transform: scale(1); opacity: 0.5; background: #11e;}
}

@keyframes zoom {
 from { transform: scale(1); }
 50%  { transform: scale(1.2); opacity: 1; background: #e11;}
 to   { transform: scale(1); opacity: 0.5; background: #11e;}
}

#circle:hover {
               -webkit-animation-name: zoom;
               -webkit-animation-duration: 1.4s;
               -webkit-animation-iteration-count: infinite;
               animation-name: zoom;
               animation-duration: 1.4s;
               animation-iteration-count: infinite;
              }
</style>
<body>

<div id="container">
<div id="circle">Наведи<br>курсор</div>
</div>

</body>
</html>

  Ответить  
 
 автор: rodmial   (25.01.2015 в 17:21)   письмо автору
 
   для: Mookapek   (25.01.2015 в 16:13)
 

так работает как надо, спасибо.
но мой вопрос остаётся открытым.

  Ответить  
 
 автор: Mookapek   (25.01.2015 в 17:32)   письмо автору
 
   для: rodmial   (25.01.2015 в 17:21)
 

Я полагаю, проблема заключается в бесконечном цикле.

  Ответить  
 
 автор: rodmial   (26.01.2015 в 10:03)   письмо автору
 
   для: Mookapek   (25.01.2015 в 17:32)
 

так а он разьве не должен быть бесконечным? пока мышка на элементе - так и должно быть.
а как тогда? (отталкиваясь именно от моего кода)

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования