Viewing 13 posts - 1 through 13 (of 13 total)
  • Author
    Posts
  • #357106

    Just today I updated a customer’s website to Enfold 3.0.4 and encountered a strange issue:
    When sorting the products (= portfolio entries) with the portfolio raster’s sort options, sometimes the portfolio items don’t just slide into place, but an additional animation effect is triggered – like “flying in” from the side or top – which makes the sorting process seem a bit erratic.

    This does not happen in Chrome or IE, but seems to be specific to Firefox (current version / on Win and Linux on several different PCs). I also don’t see this happening with Firefox and your Enfold demo site on these machines, so it must be specific to this very website.

    Any clues what might be going on?

    #357622
    This reply has been marked as private.
    #358042

    Hi!

    I think it’s a CSS issue but I couldn’t pinpoint where it was coming from. Try creating a copy of your custom CSS and then remove it to see if it goes away.

    Also be sure to deactivate all plugins while testing.

    Best regards,
    Elliott

    • This reply was modified 10 years ago by Elliott.
    #358049

    Thanks for looking into this!
    Deleting the custom CSS and deactivating all plugins (TablePress and Duplicate Post) has no impact – the animation is still erratic. Other than some custom CSS and a little tweaking of the German language files this is basically a “vanilla” Enfold 3.0.4 installation, so I’m not sure what may cause this. I see this happening on the live site and on my local developer copy as well, btw, and WordPress 4.0 with Enfold 3.0.2 didn’t show this issue on Firefox.

    One thing I noticed is that this does not occur when switching from “All” to any portfolio subcategory, only on switching from one subcategory to another will this happen. So All > Category 1 > All > Category 2… works fine, but All > Category 1 > Category 2… will show the jumpy animation. Not sure if this helps?

    • This reply was modified 10 years ago by IkariGendo.
    #358077

    I just rebuilt that page anew from scratch and that seems to have fixed it.

    EDIT:
    Or so I thought. Now it’s getting really weird: As soon as that page is in the menu, the error occurs. If it’s not and and the page is called directly via its URL, everything is fine.

    • This reply was modified 10 years ago by IkariGendo.
    #358931
    This reply has been marked as private.
    #359655

    Hey!

    Send us a WordPress login and set your reply as private and we’ll take a closer look.

    Best regards,
    Elliott

    #360060

    I think I have found the issue:
    I have “non-clickable” entries in the main menu and it seems those cause this effect.

    I can even replicate that with a clean Enfold/Wordpress installation and your demo content:
    a) Install WordPress 4.0.1 and Enfold 3.0.4
    b) Import “Photography Demo” content
    c) On page “Portfolio” replace the Masonry portfolio with a portfolio grid
    d) Add a non-clickable menu entry like e. g. so:
    example
    e) Click randomly through the portfolio grid’s sorting categories.

    Not always, but on some clicks you will see the same sorting animation glitch. This was no issue with WP 4.0 and Enfold 3.0.2.

    #360309

    Hi!

    I can’t reproduce it on my XAMPP setup. Send us a login to the new installation you created and we’ll take a closer look.

    Best regards,
    Elliott

    #360352
    This reply has been marked as private.
    #360846

    Hey!

    Alrighty I see it now. What happens when you delete lines 114 – 264 in /enfold/js/avia.js?

    // -------------------------------------------------------------------------------------------
    // modified SCROLLSPY by bootstrap
    // -------------------------------------------------------------------------------------------
    
      function AviaScrollSpy(element, options)
      {
    	var self = this;
      
    		var process = $.proxy(self.process, self)
    		  , refresh = $.proxy(self.refresh, self)
    		  , $element = $(element).is('body') ? $(window) : $(element)
    		  , href
    		self.$body = $('body')
    		self.$win = $(window)
    		self.options = $.extend({}, $.fn.avia_scrollspy.defaults, options)
    		self.selector = (self.options.target
    		  || ((href = $(element).attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7
    		  || '')
    		
    		self.activation_true = false;
    		
    		if(self.$body.find(self.selector + "[href*=#]").length)
    		{
    			self.$scrollElement = $element.on('scroll.scroll-spy.data-api', process);
    			self.$win.on('av-height-change', refresh);
    			self.$body.on('av_resize_finished', refresh);
    			self.activation_true = true;
    			self.checkFirst();
    			
    			setTimeout(function()
    			{
    				self.refresh()
    				self.process()
    				
    			},100);
    		}
    	
      }
    
      AviaScrollSpy.prototype = {
    
    	  constructor: AviaScrollSpy
    	, checkFirst: function () {
    	
    		var current = window.location.href.split('#')[0],
    			matching_link = this.$body.find(this.selector + "[href='"+current+"']").attr('href',current+'#top');
    	}
    	, refresh: function () {
    	
    	if(!this.activation_true) return;
    	
    		var self = this
    		  , $targets
    
    		this.offsets = $([])
    		this.targets = $([])
    
    		$targets = this.$body
    		  .find(this.selector)
    		  .map(function () {
    			var $el = $(this)
    			  , href = $el.data('target') || $el.attr('href')
    			  , hash = this.hash
    			  , hash = hash.replace(/\//g, "")
    			  , $href = /^#\w/.test(hash) && $(hash)
    			 
    			return ( $href
    			  && $href.length
    			  && [[ $href.position().top + (!$.isWindow(self.$scrollElement.get(0)) && self.$scrollElement.scrollTop()), href ]] ) || null
    		  })
    		  .sort(function (a, b) { return a[0] - b[0] })
    		  .each(function () {
    			self.offsets.push(this[0])
    			self.targets.push(this[1])
    		  })
    		  
    	  }
    
    	, process: function () {
    		
    		if(!this.offsets) return;
    		
    		var scrollTop = this.$scrollElement.scrollTop() + this.options.offset
    		  , scrollHeight = this.$scrollElement[0].scrollHeight || this.$body[0].scrollHeight
    		  , maxScroll = scrollHeight - this.$scrollElement.height()
    		  , offsets = this.offsets
    		  , targets = this.targets
    		  , activeTarget = this.activeTarget
    		  , i
    
    		if (scrollTop >= maxScroll) {
    		  return activeTarget != (i = targets.last()[0])
    			&& this.activate ( i )
    		}
    
    		for (i = offsets.length; i--;) {
    		  activeTarget != targets[i]
    			&& scrollTop >= offsets[i]
    			&& (!offsets[i + 1] || scrollTop <= offsets[i + 1])
    			&& this.activate( targets[i] )
    		}
    	  }
    
    	, activate: function (target) {
    		var active
    		  , selector
    
    		this.activeTarget = target
    
    		$(this.selector)
    		  .parent('.' + this.options.applyClass)
    		  .removeClass(this.options.applyClass)
    
    		selector = this.selector
    		  + '[data-target="' + target + '"],'
    		  + this.selector + '[href="' + target + '"]'
    
    		active = $(selector)
    		  .parent('li')
    		  .addClass(this.options.applyClass)
    
    		if (active.parent('.sub-menu').length)  {
    		  active = active.closest('li.dropdown_ul_available').addClass(this.options.applyClass)
    		}
    
    		active.trigger('activate')
    	  }
    
      }
    
     /* AviaScrollSpy PLUGIN DEFINITION
      * =========================== */
    
      $.fn.avia_scrollspy = function (option) {
    	return this.each(function () {
    	  var $this = $(this)
    		, data = $this.data('scrollspy')
    		, options = typeof option == 'object' && option
    	  if (!data) $this.data('scrollspy', (data = new AviaScrollSpy(this, options)))
    	  if (typeof option == 'string') data[option]()
    	})
      }
    
      $.fn.avia_scrollspy.Constructor = AviaScrollSpy
    
      $.fn.avia_scrollspy.defaults = {
    	offset: (parseInt($('.html_header_sticky #main').data('scroll-offset'), 10)) + ($(".html_header_sticky #header_main_alternate").outerHeight()) + ($(".html_header_sticky #header_meta").outerHeight()) + 1 + parseInt($('html').css('margin-top'),10),
    	applyClass: 'current-menu-item'
      }
    

    Best regards,
    Elliott

    #360901

    Looking good: Issue vanished. Thanks for your help!

    Greetings from Germany,
    IkariGendo

    #361019

    Hey!

    Alrighty. I’m not sure what a good fix would be so I’ll add this to our bug list to see what Kriesi thinks.

    Best regards,
    Elliott

Viewing 13 posts - 1 through 13 (of 13 total)
  • You must be logged in to reply to this topic.