Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   событие mousemove срабатывает постоянно (https://javascript.ru/forum/jquery/52834-sobytie-mousemove-srabatyvaet-postoyanno.html)

kroleternal 09.01.2015 12:27

событие mousemove срабатывает постоянно
 
прошу помощи. имеется следующий скрипт на сайте под джумлой.

<script>

jQuery.noConflict();
(function($){
$(function(){

$('#block_1').mousemove(function(){

$(".block_2").toggle("slow");

/*либо

$(".block_2").show("slow");
$(".block_2").hide("slow");

*/
});


});
})(jQuery);
</script>


задача проста: при движении мыши по блоку 1 должен появляться блок 2. со временем при неподвижной мыши - исчезать. на деле же результат следующий: при первом же событии mousemove появляется блок 2, исчезает, и заново без остановки. в чем моя ошибка кроме ДНК?
з.ы.: все верно, я нуб. буду благодарен за любую помощь

ruslan_mart 09.01.2015 13:00

kroleternal, юзай mouseover.

рони 09.01.2015 14:12

kroleternal,
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
.block2  {
    display: none;
    background: #FFCC00;
  }

  div{
      width: 100px;
      height: 100px;
      background: #FF0099;
  }


  </style>
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js">
</script>
  <script>
$(function() {
    var c = $(".block1"),
        a = $(".block2"),
        b;
    c.mousemove(function() {
        window.clearTimeout(b);
        a.show();
        b = window.setTimeout(function() {
            a.hide()
        }, 1E3)
    })
  });


  </script>
</head>

<body>
  <div class='block1'></div>

  <div class='block2'></div>
</body>
</html>

kroleternal 09.01.2015 14:55

Ruslan_xDD,
спасибо, но не подходит
рони,
благодарю. чуть позже скажу о том ли

kroleternal 09.01.2015 19:38

рони,
то что надо. плюсик в карму Вам

danik.js 09.01.2015 20:54

рони, ты уже достал со своими А и B, сидящими в твоем коде. В последующем буду тупо гадить в карму.

ruslan_mart 10.01.2015 07:01

danik.js, да брось, ерунда. Каждый делает так, как ему больше нравится. Правда такие короткие переменные немного путают новичков, и не только. :)

danik.js 10.01.2015 11:41

Цитата:

Сообщение от Ruslan_xDD
Каждый делает так, как ему больше нравится

Для себя пусть делает как нравится. А выкладываемый тут код читают другие. Жутко выбешивает читать такой код - беглого взгяда не достаточно, чтоб его понять. Пусть делает дальше, просто потом пусть и не обижается.


Часовой пояс GMT +3, время: 22:19.