Pergunta sobre o WordPress Featured Image Pro Post Grid: acionador de alteração de evento

Um usuário perguntou ?

Olá pessoal, existe uma maneira de redimensionar manualmente o evento? Tentei ativar o incidente do tamanho da janela, mas não parece afetar a grade de alvenaria. Eu quero fazer um filtro personalizado, onde eu exiba o conteúdo do filtro: nenhum manualmente. Ele não redefine os elementos até que eu altere a janela manualmente, quero remover esse canal JavaScript.

Agradeceríamos qualquer ajuda!

Saúde

(@nomadcoder)

Há 1 ano

Olá,

Se bem entendi, você quer carregar uma página com o conteúdo já filtrado.

Não tenho certeza, mas você pode tentar as traduções CSS. Por favor, sinta-se à vontade para me enviar mais detalhes e eu posso ajudá-lo com o javascript.

(@geertvanamerongen)

12 meses atrás

Olá nomacoder,

Obrigado pela resposta, veja o link para o meu site de cenário para descobrir o que pretendo fazer:

Quando você usa um dos filtros, os blocos ficam ocultos, mas a grade não é reorganizada. Se você alternar a janela do navegador após selecionar um filtro, os blocos serão reorganizados corretamente. Não parece estimular o efeito do tamanho da grade manualmente via JS. Eu tentei acionar um evento window.resize manualmente, mas ele não responde a isso. Então, quando o plugin realmente redimensiona, ele faz exatamente o que eu quero, mas eu quero poder chamar essa função de redimensionamento depois de basicamente filtrar meus artigos.

JS

jQuery(document).ready(function($){

	Array.prototype.remove = function() {
	    var what, a = arguments, L = a.length, ax;
	    while (L && this.length) {
	        what = a[--L];
	        while ((ax = this.indexOf(what)) !== -1) {
	            this.splice(ax, 1);
	        }
	    }
	    return this;
	};	

		
	var _artists = []
	var _artistCategories = []
	var _artistLength = $(".artists_item").length;
	var _activeFilters = [];
	var _filtersDOM = [];

	$(".artists_item").each(function(i){
		var _obj = {};
		var i = i;
		
		_obj.target = $(this);
		_obj.href = $(this).children(":first").children(":first").attr("href");
		_obj.id = _obj.href.split("&p=")[1];
		_obj.categories = [];

		$.ajax({
		    type: 'POST',
		    url: my_ajax_object.ajax_url,
		    dataType: "json", 
		    data: { action : 'get_ajax_category', id: _obj.id},
		    success: function( response ) {
		    	
		    	response.forEach(function(item, index){
		    		if(item.name != "artists"){
		    			_obj.categories.push(item.name)
		    			if(_artistCategories.indexOf(item.name) === -1) {
				    		_artistCategories.push(item.name);
		    			}
		    		}
			    	
		    	});
				    
			    _artists.push(_obj)
			    
			    if(i==_artistLength-1){
			    	afterCategories();
			    }

				
		    }
		});
	});

	function afterCategories(){

		$(".proto_masonry_top").parent().prepend("<div id='categoryFilters'><span>FILTERS:</span></div>");

		for (var i = 0; i < _artistCategories.length; i++) {
			
			$("#categoryFilters").append("<div class="catButton">" + _artistCategories[i] + "</div>");

			_filtersDOM.push(_artistCategories[i]);

			getLabelDOM(_artistCategories[i]).click(function(e){
				changeFilter($(this).html());
			})
		}

	}

	function getLabelDOM
		var ret = null;
		$(".catButton").each(function(){
			if($(this).html() == t) ret = $(this);
		})

		return ret;
	}

	function changeFilter
		if(_activeFilters.indexOf
			_activeFilters.push
			for (var i = 0; i < _filtersDOM.length; i++) {
				if(t.indexOf(_filtersDOM[i]) === -1) $( getLabelDOM
			}

		}else{
			_activeFilters.remove
			for (var i = 0; i < _filtersDOM.length; i++) {
				if(t.indexOf(_filtersDOM[i]) === -1) $( getLabelDOM
			}
		}

		for (var i = 0; i < _artists.length; i++) {

			if(_activeFilters.length === 0) fadeBlock(_artists[i].target, 1)
			else fadeBlock(_artists[i].target, 0)

			
			
			for(var j = 0; j < _artists[i].categories.length; j++){
				
				for(var k = 0; k < _activeFilters.length; k++){
					if(_activeFilters[k]==_artists[i].categories[j]){
						
						fadeBlock(_artists[i].target, 1)
					}
					
				}
				
			}
			
		}

	}

	function fadeBlock(t,a){
		if(a==1)
		{
			$
			$
				resetPositions();
			});
		}
		else if (a==0)
		{
			$
				resetPositions();
		    	$
		  	});
		}
		
	}

	function resetPositions(){
		window.dispatchEvent(new Event('resize'));
	}

});

Muito obrigado antecipadamente!

Saúde

Esta resposta foi modificada há 12 meses por.

(@nomadcoder)

12 meses atrás

Interessante. Parece-me que são as transições que não estão funcionando, o que significa que podem ter sido violadas ou desabilitadas. O plugin funciona corretamente neste site: http://www.resasunshine.com/.

Não tenho certeza por que isso acontece. Poderia postar seu atalho?

Isto foi útil?

0 / 0

Deixe uma resposta 0

O seu endereço de email não será publicado. Campos obrigatórios são marcados *