Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы » Как адаптировать вывод краткой информации о фильме под ajax ?

Как адаптировать вывод краткой информации о фильме под ajax ?


     28.03.2017    Все вопросы » Общие вопросы    1577

вопрос
Здравствуйте, на днях купил модуль сортировки новостей по доп. полям. Но по сколько модуль выводит информацию на ajax то необходимо обновить страницу чтоб окошка появлялась.

Должна выводиться вот такая окошка при наведении:
Как адаптировать вывод краткой информации о фильме под ajax ?


JS-Код окошки:

$('.descr').hover(function() {
	$(this).children('.descr_button').addClass('active');
	$(this).children('.descr_panel').css("top", (short_descr_top + dropdown_offset)).css("opacity", 0).show().stop().animate({
		top : short_descr_top,
		opacity: 1
	}, anim_speed_fast);
	}, function() {
		$(this).children('.descr_button').removeClass('active');
		$(this).children('.descr_panel').removeAttr('style').hide();
	});
});


JS-Код модуля сортировки:

function xsort_empty(){
	$("#dle-content").html('<div class="xsort_empty">Ничего не найдено</div>');
}

$(document)
.on('click','.xsort-selected',function(e){
	var ul = $(this).parents('.xsort-div').find('.xsort-ul');
	var d = ul.css('display');
	$('.xsort-ul').hide();
	if(d=='none') ul.slideDown(200);
//	var litop = ul.find('li.current')[0].offsetTop-31;
//	ul.animate({'scrollTop':litop+'px'},100);
	return false;
})
.on('click','.xsort-ul li',function(){
	$this = $(this);
	var text = $this.text();
	var val = $this.data('val');
	var field = $this.parents('.xsort-ul').data('field');
	var sel = $this.parents('.xsort-div');
	if(val!=='') sel.addClass('xsort-active');
	else sel.removeClass('xsort-active');
	sel = sel.find('.xsort-selected');
	var url = window.location.href;
	if(field=='defaultsort'){
		$this.siblings().removeClass('xasc xdesc');
		sel = sel.find('span');
		if(val!==''){
			if($this.hasClass('xdesc')){
				$this.removeClass('xdesc').addClass('xasc');
				sel.attr("class","xasc");
			}else{
				$this.removeClass('xasc').addClass('xdesc');
				sel.attr("class","xdesc");
			}
		}else{
			sel.removeClass('xasc xdesc');
		}
	}else{
		if($(this).hasClass('current')){
			$this.parents('.xsort-ul').find('li').eq(0).click();
			return false;
		}
	}
	sel.html(text);
	$this.addClass('current').siblings().removeClass('current');

	if(url.indexOf('/page/')>=0){
		url = url.split('/page/');
		url = url[0]+'/';
	}
	ShowLoading();
	$(".berrors").remove();
	
	$.ajax({
		url: url,
		type: "POST",
		method: "POST",
		data: {xsort:1,xs_field:field,xs_value:val}
	}).done(function(d){
		HideLoading();
		var html = $("#dle-content",d).html();
		if(html){
			$("#dle-content").html(html);
			if(url != window.location.href) window.history.pushState(null, null, url);
		}else xsort_empty();
	}).fail(function(d){
		HideLoading();
		xsort_empty();
	})
})
.on('click','body:not(.xsort-ul)',function(){
	$('.xsort-ul').fadeOut(100);
})
.on('click','.xsort-div-filler',function(){
	ShowLoading();
	$('#xsort-admin').remove();
	$('body').append('<div id="xsort-admin" title="Поиск и формирование списка значений доп. полей" style="display:none;"/>');
	$.post(dle_root+"engine/mods/xsort/admin.php",{do:'start'},function(d){
		HideLoading();
		$('#xsort-admin').html(d).dialog({
			width: '600px',
			buttons: {
				'Закрыть':function(){
					$(this).dialog('close');
				}
			}
		});
	})
})
.on('click','.xsort-admin-area ul li',function(){
	var ul = $(this).parents('ul');
	ul.addClass('loading');
	if(!$(this).hasClass('current')) $(this).removeClass('xreverse');
	var reverse = $(this).hasClass('xreverse');
	$(this).toggleClass('xreverse');
	$(this).addClass('current').siblings().removeClass('current');
	$.post(dle_root+"engine/mods/xsort/admin.php",{field:$(this).data('field'),reverse:reverse},function(d){
		ul.removeClass('loading');
		$('.xsort-admin-area pre code').html(d);
	})
})
.on('click','.xsort-div-clearall',function(){
	var url = window.location.href;
	if(url.indexOf('/page/')>=0){
		url = url.split('/page/');
		url = url[0]+'/';
	}
	ShowLoading();
	$(".berrors").remove();
	$.ajax({
		url: url,
		type: "POST",
		method: "POST",
		data: {xsort:1,xs_field:'clearallfields'}
	}).done(function(d){
		HideLoading();
		window.location.href = url;
	}).fail(function(d){
		HideLoading();
		xsort_empty();
	})
})


Заранее, спасибо!

Ответил: PunPun


После
$("#dle-content").html(html);
Вставить
$('.descr').hover(function() {
	$(this).children('.descr_button').addClass('active');
	$(this).children('.descr_panel').css("top", (short_descr_top + dropdown_offset)).css("opacity", 0).show().stop().animate({
		top : short_descr_top,
		opacity: 1
	}, anim_speed_fast);
	}, function() {
		$(this).children('.descr_button').removeClass('active');
		$(this).children('.descr_panel').removeAttr('style').hide();
	});
});

4 комментария

MikeTheRaven
Юзер

MikeTheRaven - 28 марта 2017 17:58 -

Ну тут жи нада у розроботчика спрасить про окошку.

Sandman
Юзер

Sandman - 28 марта 2017 18:00 -

Спрашивал, отправил меня на этот сайт )

ARTEXO
Юзер

ARTEXO - 29 марта 2017 17:32 -

А что это за рачок такой, что не может оказать поддержку по своему продукту ?

LazyDev
PHP-developer

LazyDev - 30 марта 2017 21:10 -

ARTEXO, покажите мне разработчика который, свой продукт на продажу, будет подстраивать под ваши правки?

Мой блог: LazyDev.pro

Помогаю с решением проблем на платной основе.

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

 12.06.2014 never3d222  Общие вопросы
наверх