вроде понял, спасибо а как бы это сделать на голом яваскрипте? document.querySelector() поймет "body :not(#id_div)" ?
нет не поймет. просто подключите jquery. и напишите <script type="text/javascript"> $(function() { $("body :not(#id_div)).bind("click",funсtion () {$("#id_div").hide();}); }); </script> на голом дольше .
не получается у меня слева меню, в нем есть иконки при щелчке по иконке должно появляться меню при щелчке в любом месте, кроме самого меню - исчезать сейчас имею вот это: $(document).ready(function() { $(":not(img)").bind("click", function(){ if($('#menuBlock').is(":visible")) //$('#menuBlock').hide() alert(111) }); }); в результате когда жму по картинке, получаю пять алертов, потом появляется меню после этого, щелчок в любом месте, включая само меню, также вызывает этот callback запутался в селекторах
HTML: <script type="text/javascript"> $(function() { $("img").bind("click",funсtion () {$("#menuBlock").show();}); $("body :not(#menuBlock) :not(img)).bind("click",funсtion () {$("#menuBlock").hide();}); }); </script> в css HTML: #menuBlock {display:none;} $(function) тоже самое что $(document.ready) лучше все содержимае страницы положить в отдельный div который на всю страницу скажем <div id="content"> и сделать так HTML: <script type="text/javascript"> $(function() { $("img").bind("click",funсtion () {$("#menuBlock").show();}); $("#content :not(#menuBlock) :not(img)).bind("click",funсtion () {$("#menuBlock").hide();}); }); </script>
тока надо не забывать что так памяти выделится почти во столько же раз больше, сколько там вложенных элементов например на античате порядка тысячи так что и памяти потратится в тысячу раз больше надо подписывать только одну функцию на документ а не на каждый элемент внутри документа / body / #content чтобы понять как это работает ищите типа event bubbling
у меня в предыдущем сообщении указана проблема что сделать чтобы ее решить и что искать чтобы узнать а как оно работает осталось только код напечатать или наити теперь вам придется выполнять вашу часть совместного докопывания до истины нельзя постоянно ждать готового и называть это совместным можно просто забить пусть кушает память и тормозит
если сделать так ? HTML: <script type="text/javascript"> $(function() { $(img).bind("click",funсtion () {$("#menuBlock").show();}); $(window.document).not(#menuBlock).not(img)).bind("click",funсtion () {$("#menuBlock").hide();}); }); </script> все будет нормально ?
Расскажите, пожалуйста, что делает данная функция, вплоть до каждой функции в ней. PHP: function f_print(Str) { var div1 = document.getElementById("div1"); div1.innerHTML += Str + "<br>"; }
Gvidion строчка 1: запоминает элемент с id div1 как объект в переменную div1 строчка 2: к содержимому div1 (<div id='div1'>[содержимое]</div>) содержимое переменной Str и строку "<br>"
есть html страничка на хостинге, нужно сделать чтоб при посещении с мобильного устройства, на нём открылась другая, (мобильная версия) подскажите как реализовать
Gain приблизительно так, если в лоб: PHP: <script> function getBodyScrollTop(){ //эта функция возвращает положение скроллбара return self.pageYOffset || (document.documentElement && document.documentElement.scrollTop) || (document.body && document.body.scrollTop); } function checkScroll(){ //эта функция проверяет нужно ли показать или спрятать тот самый див var scrolled = getBodyScrollTop(); //берем сколько проскроллили if (scrolled>500) //если проскроллили больше 500px document.getElementById('floatingDiv').style.display = 'block'; //показываем else document.getElementById('floatingDiv').style.display = 'none'; //прячем } setInterval(check, 1000); // ставим таймер, проверяем раз в секунду нужно ли показывать. наверное, можно как-то поизящнее ) </script> а это тот самый div PHP: <div id='floatingDiv' style='width:50px; height: 25px; position: fixed; display: none; float: left; top:10px; left: 5px; background-color: #eee;'>Назад!</div>
подскажите как сделать появление текста при прокрутке вниз.... тоесть как в поиске вконтакта, когда доходишь до низа страницы то появляются следующие результаты
есть скрипт, нужно его переделать на скролл вниз, что где нужно поменять в параметрах ? PHP: /* * jQuery EasIng v1.1.2 - http://gsgd.co.uk/sandbox/jquery.easIng.php * * Uses the built In easIng capabilities added In jQuery 1.1 * to offer multiple easIng options * * Copyright (c) 2007 George Smith * Licensed under the MIT License: * http://www.opensource.org/licenses/mit-license.php */ // t: current time, b: begInnIng value, c: change In value, d: duration jQuery.extend( jQuery.easing, { easeInQuad: function (x, t, b, c, d) { return c*(t/=d)*t + b; }, easeOutQuad: function (x, t, b, c, d) { return -c *(t/=d)*(t-2) + b; }, easeInOutQuad: function (x, t, b, c, d) { if ((t/=d/2) < 1) return c/2*t*t + b; return -c/2 * ((--t)*(t-2) - 1) + b; }, easeInCubic: function (x, t, b, c, d) { return c*(t/=d)*t*t + b; }, easeOutCubic: function (x, t, b, c, d) { return c*((t=t/d-1)*t*t + 1) + b; }, easeInOutCubic: function (x, t, b, c, d) { if ((t/=d/2) < 1) return c/2*t*t*t + b; return c/2*((t-=2)*t*t + 2) + b; }, easeInQuart: function (x, t, b, c, d) { return c*(t/=d)*t*t*t + b; }, easeOutQuart: function (x, t, b, c, d) { return -c * ((t=t/d-1)*t*t*t - 1) + b; }, easeInOutQuart: function (x, t, b, c, d) { if ((t/=d/2) < 1) return c/2*t*t*t*t + b; return -c/2 * ((t-=2)*t*t*t - 2) + b; }, easeInQuint: function (x, t, b, c, d) { return c*(t/=d)*t*t*t*t + b; }, easeOutQuint: function (x, t, b, c, d) { return c*((t=t/d-1)*t*t*t*t + 1) + b; }, easeInOutQuint: function (x, t, b, c, d) { if ((t/=d/2) < 1) return c/2*t*t*t*t*t + b; return c/2*((t-=2)*t*t*t*t + 2) + b; }, easeInSine: function (x, t, b, c, d) { return -c * Math.cos(t/d * (Math.PI/2)) + c + b; }, easeOutSine: function (x, t, b, c, d) { return c * Math.sin(t/d * (Math.PI/2)) + b; }, easeInOutSine: function (x, t, b, c, d) { return -c/2 * (Math.cos(Math.PI*t/d) - 1) + b; }, easeInExpo: function (x, t, b, c, d) { return (t==0) ? b : c * Math.pow(2, 10 * (t/d - 1)) + b; }, easeOutExpo: function (x, t, b, c, d) { return (t==d) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b; }, easeInOutExpo: function (x, t, b, c, d) { if (t==0) return b; if (t==d) return b+c; if ((t/=d/2) < 1) return c/2 * Math.pow(2, 10 * (t - 1)) + b; return c/2 * (-Math.pow(2, -10 * --t) + 2) + b; }, easeInCirc: function (x, t, b, c, d) { return -c * (Math.sqrt(1 - (t/=d)*t) - 1) + b; }, easeOutCirc: function (x, t, b, c, d) { return c * Math.sqrt(1 - (t=t/d-1)*t) + b; }, easeInOutCirc: function (x, t, b, c, d) { if ((t/=d/2) < 1) return -c/2 * (Math.sqrt(1 - t*t) - 1) + b; return c/2 * (Math.sqrt(1 - (t-=2)*t) + 1) + b; }, easeInElastic: function (x, t, b, c, d) { var s=1.70158;var p=0;var a=c; if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3; if (a < Math.abs(c)) { a=c; var s=p/4; } else var s = p/(2*Math.PI) * Math.asin (c/a); return -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b; }, easeOutElastic: function (x, t, b, c, d) { var s=1.70158;var p=0;var a=c; if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3; if (a < Math.abs(c)) { a=c; var s=p/4; } else var s = p/(2*Math.PI) * Math.asin (c/a); return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b; }, easeInOutElastic: function (x, t, b, c, d) { var s=1.70158;var p=0;var a=c; if (t==0) return b; if ((t/=d/2)==2) return b+c; if (!p) p=d*(.3*1.5); if (a < Math.abs(c)) { a=c; var s=p/4; } else var s = p/(2*Math.PI) * Math.asin (c/a); if (t < 1) return -.5*(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b; return a*Math.pow(2,-10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )*.5 + c + b; }, easeInBack: function (x, t, b, c, d, s) { if (s == undefined) s = 1.70158; return c*(t/=d)*t*((s+1)*t - s) + b; }, easeOutBack: function (x, t, b, c, d, s) { if (s == undefined) s = 1.70158; return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b; }, easeInOutBack: function (x, t, b, c, d, s) { if (s == undefined) s = 1.70158; if ((t/=d/2) < 1) return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b; return c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b; }, easeInBounce: function (x, t, b, c, d) { return c - jQuery.easing.easeOutBounce (x, d-t, 0, c, d) + b; }, easeOutBounce: function (x, t, b, c, d) { if ((t/=d) < (1/2.75)) { return c*(7.5625*t*t) + b; } else if (t < (2/2.75)) { return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b; } else if (t < (2.5/2.75)) { return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b; } else { return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b; } }, easeInOutBounce: function (x, t, b, c, d) { if (t < d/2) return jQuery.easing.easeInBounce (x, t*2, 0, c, d) * .5 + b; return jQuery.easing.easeOutBounce (x, t*2-d, 0, c, d) * .5 + c*.5 + b; } }); /* |-------------------------------------------------------------------------- | UItoTop jQuery Plugin 1.1 | http://www.mattvarone.com/web-design/uitotop-jquery-plugin/ |-------------------------------------------------------------------------- */ (function($){ $.fn.UItoTop = function(options) { var defaults = { text: 'To Top', min: 200, inDelay:600, outDelay:400, containerID: 'w2btoTop', containerHoverID: 'w2btoTopHover', scrollSpeed: 1200, easingType: 'linear' }; var settings = $.extend(defaults, options); var containerIDhash = '#' + settings.containerID; var containerHoverIDHash = '#'+settings.containerHoverID; $('body').append('<a href="#" id="'+settings.containerID+'">'+settings.text+'</a>'); $(containerIDhash).hide().click(function(){ $('html, body').animate({scrollTop:0}, settings.scrollSpeed, settings.easingType); $('#'+settings.containerHoverID, this).stop().animate({'opacity': 0 }, settings.inDelay, settings.easingType); return false; }) .prepend('<span id="'+settings.containerHoverID+'"></span>') .hover(function() { $(containerHoverIDHash, this).stop().animate({ 'opacity': 1 }, 600, 'linear'); }, function() { $(containerHoverIDHash, this).stop().animate({ 'opacity': 0 }, 700, 'linear'); }); $(window).scroll(function() { var sd = $(window).scrollTop(); if(typeof document.body.style.maxHeight === "undefined") { $(containerIDhash).css({ 'position': 'absolute', 'top': $(window).scrollTop() + $(window).height() - 50 }); } if ( sd > settings.min ) $(containerIDhash).fadeIn(settings.inDelay); else $(containerIDhash).fadeOut(settings.Outdelay); }); }; })(jQuery);
Здравствуйте! Помогите сделать интеграцию чата cbox непосредственно для ВК что бы общаясь в этом чате выводилось имя, авка из ВК Сам чат вот код интеграции (уже присутствует в чате что выше) как я понял нужно написать ещё API запрос и вместо этого что выше код заменить.