Остановить выполнение функции
Привет.
Вот код $("#look").mousemove(function (e) { // отслеживание перемещения нестандартного курсора в пределах слайдера var Cur = $('#cursor'); Cur.css({ 'left': parseInt(e.pageX - 0) + 'px', 'top': parseInt(e.pageY - 80) + 'px', 'opacity': 1.0, }); if ($('#header').css('top') == '-200px') { // вот условие $(document).mousemove(function(r){ var sw = $(window).width(); var sh = $(window).height(); if (sw/sh > 1.6) { var k = sw / treeInitWidth; var w = sw; var h = parseInt(treeInitHeight*k); } else { var k = sh / treeInitHeight; var h = sh; var w = parseInt(treeInitWidth*k); } var rx = w/sw; var ry = h/sh; var x = r.pageX; var y = r.pageY; var left = x*(1 - rx); var top = (ry < 1) ? (sh-h) : y*(1 - ry); el.css({ left : left, top : top }); $('.tree-container').css({ left : left, top : top }); }); } else{ // что написать, чтобы остановить выполнение функции } }); |
что значит остановить если в принципе ничего не происходит при не выполнении условия
попробуйте e.preventDefault() или r.preventDefault() смотря куда в для какой из mousemove |
о боже, событие вешают в событии да еще и mousemove в mousemove
|
devote,
да, а какая разница. я могу этот же второй mousemove вложить в событие click. как его остановить при невыполнении условия? |
до меня дошло что значит остановить))
отписатся надо .... .unbind('mousemove', ... но в вашем случае когда подписывайтесь, сделайте не анонимную функцию, и потом эту же функцию и отписывайте |
document.onmousemove = null;
|
Цитата:
|
if ($('#header').css('top') == '-200px') { // вот условие $(document).bind('mousemove', function(r){ //тут что то }); } else { // что написать, чтобы остановить выполнение функции $(document).unbind('mousemove') } |
Deff,
могу ошибатся но такой анбинд снимет все кастомные подписки на mousemove, если даже не так то кашернее бы поступить так function onHeaderMouseMove(r) { var sw = $(window).width(); var sh = $(window).height(); if (sw / sh > 1.6) { var k = sw / treeInitWidth; var w = sw; var h = parseInt(treeInitHeight * k); } else { var k = sh / treeInitHeight; var h = sh; var w = parseInt(treeInitWidth * k); } var rx = w / sw; var ry = h / sh; var x = r.pageX; var y = r.pageY; var left = x * (1 - rx); var top = (ry < 1) ? (sh - h) : y * (1 - ry); el.css({ left: left, top: top }); $('.tree-container').css({ left: left, top: top }); } $().ready(function () { $("#look").mousemove(function (e) { $('#cursor').css({ 'left': parseInt(e.pageX - 0) + 'px', 'top': parseInt(e.pageY - 80) + 'px', 'opacity': 1.0 }); if ($('#header').css('top') == '-200px') $(document).bind('mousemove', onHeaderMouseMove); else $(document).unbind('mousemove', onHeaderMouseMove); }); }); PS еще тут очень пригодится прежде чем биндить, проверка, а не забиндено ли уже, сор если надо с утра напишу |
mullih,
Кошерней - но как грил Горби - главное - начать, поправить можно по ходу пьесы |
Часовой пояс GMT +3, время: 00:52. |