Ответы пользователя по тегу JavaScript
  • По какой логике делают плавный скроллинг?

    pandaWarrior
    @pandaWarrior
    фронтендер
    Привет! Как-то находила вот это решение, так и пользуюсь.
    jQuery(function() {
    	jQuery('a.anchor').bind('click',function(event){
    		var $anchor = jQuery(this);
    		jQuery('html, body').stop().animate({
    			scrollTop: jQuery($anchor.attr('href')).offset().top
    		}, 800,'easeOutQuad');
    		/*
    		if you don't want to use the easing effects:
    		$('html, body').stop().animate({
    			scrollTop: $($anchor.attr('href')).offset().top
    		}, 1000);
    		*/
    		event.preventDefault();
    	});
    });

    Для ссылки прописываем
    <a class="anchor" href="#уникальный-анкор">Наша ссылка</a>

    В нужном месте страницы ставим <a id="уникальный-анкор"></a>
    Ответ написан
    Комментировать
  • Почему не работает javascript после ajax получения ответа?

    pandaWarrior
    @pandaWarrior
    фронтендер
    Хотелось бы присоединиться к вопросу. В js разбираюсь не сильно, работаю в основном с плагинами. Проблема такова: как заставить работать плагин после подгрузки контента через Ajax? Использую Magnific-Popup, который отлично работает на уже сформированном контенте, но отказывается что-либо делать на новом. Подскажите, пожалуйста, как это поправить?
    Аякс самый банальный, для подгрузки новых постов:
    jQuery(function() {
    	jQuery("p.load a").click(function(){ 
    	        jQuery("p.load a").hide();		
    		jQuery("#img_load").show();		
    		jQuery.ajax({
    			url: "wp-content/themes/scopic/ajaxloadpost.php",  
    			type: "GET",						
    			data: {"page": page},			
    			cache: false,
    			success: function(response){
    				if(response == 0){
    					alert("Больше нет записей");	
    					jQuery("p.load").hide();
    				}else{
    					jQuery("#timeline").append(response);	
    					page++;			
    					jQuery("#img_load").hide();
    					if(next!=0){
    						jQuery("p.load a").show();
    					}
    				}
    				
    			}
    		});
    	});
    });


    До этого в коде инициализировался плагин:
    $('.entry-gallery').magnificPopup({
      delegate: 'a', // child items selector, by clicking on it popup will open
      type: 'image',
      image: { titleSrc: 'title'  },
      gallery: { 
      	enabled: true ,
    	navigateByImgClick: true,
      },
      // Animation
      removalDelay: 300,
      mainClass: 'mfp-fade'  
    });
    Ответ написан