Архив

Публикации с меткой ‘jquery’
$('.gb .item .photos').each(function(){
	$(this).magnificPopup({
		type:'image',
		tClose:'Закрыть',
		delegate:'a',
		gallery:{
			enabled:true,
			tPrev:'Назад',
			tNext:'Вперед',
			tCounter:'<span class="mfp-counter">%curr% из %total%</span>',
		}
	});
});
Categories: Javascript Tags:

при клике внутри label по блоку .finded отменить стандартное действие и отправить форму

$('.filters_inline label').on('click',function(event){
	if($(event.target).closest(".finded").length){
		event.preventDefault();
		$(this).closest('form').submit();
	}
});
Categories: Javascript Tags:

Закомментировать данный код в chosen.jquery.js

    AbstractChosen.browser_is_supported = function() {
      /*
	  if ("Microsoft Internet Explorer" === window.navigator.appName) {
        return document.documentMode >= 8;
      }
      if (/iP(od|hone)/i.test(window.navigator.userAgent) || /IEMobile/i.test(window.navigator.userAgent) || /Windows Phone/i.test(window.navigator.userAgent) || /BlackBerry/i.test(window.navigator.userAgent) || /BB10/i.test(window.navigator.userAgent) || /Android.*Mobile/i.test(window.navigator.userAgent)) {
        return false;
      }
	  */
      return true;
    };
Categories: Javascript Tags:

Для нормальной работы ui на мобильных устройствах подключить https://github.com/furf/jquery-ui-touch-punch

Categories: Javascript Tags:
$(document).ready(function(){
	var sync1=$("#owl_detail");
	var sync2=$("#owl_thumbs");
	var slidesPerPage=4;
	var syncedSecondary=false;
	sync1.owlCarousel({
		items:1,
		//slideSpeed:2000,
		nav:true,
		autoplay:false,
		dots:false,
		loop:false,
		//responsiveRefreshRate:200,
	}).on('changed.owl.carousel',syncPosition);
	sync2.on('initialized.owl.carousel',function(){
		sync2.find(".owl-item").eq(0).addClass("current");
	}).owlCarousel({
		items:slidesPerPage,
		dots:false,
		nav:false,
		loop:false,
		margin:25,
		//smartSpeed:200,
		//slideSpeed:500,
		//slideBy:slidesPerPage,
		//responsiveRefreshRate:100
	}).on('changed.owl.carousel',syncPosition2);
	function syncPosition(el){
		/*
		var count=el.item.count-1;
		var current=Math.round(el.item.index-(el.item.count/2)-.5);
		if(current<0){
			current=count;
		}
		if(current>count){
			current=0;
		}
		*/
		var current=el.item.index;
		sync2.find(".owl-item").removeClass("current").eq(current).addClass("current");
		var onscreen=sync2.find('.owl-item.active').length-1;
		var start=sync2.find('.owl-item.active').first().index();
		var end=sync2.find('.owl-item.active').last().index();
		if(current>end){
			sync2.data('owl.carousel').to(current,100,true);
		}
		if(current<start){
			sync2.data('owl.carousel').to(current-onscreen,100,true);
		}
	}
	function syncPosition2(el){
		if(syncedSecondary){
			var number=el.item.index;
			sync1.data('owl.carousel').to(number,100,true);
		}
	}
	sync2.on("click",".owl-item",function(e){
		e.preventDefault();
		var number=$(this).index();
		sync1.data('owl.carousel').to(number,300,true);
	});
});
<div class="large">
	<div class="owl-carousel owl-theme" id="owl_detail">
		<div class="item">
			<img src="images/detail_1.jpg" alt=""/>
		</div>
		<div class="item">
			<img src="images/detail_2.jpg" alt=""/>
		</div>
	</div>
</div>
<div class="thumbs">
	<div class="owl-carousel owl-theme" id="owl_thumbs">
		<div class="item">
			<img src="images/detail_1.jpg" alt=""/>
		</div>
		<div class="item">
			<img src="images/detail_2.jpg" alt=""/>
		</div>
	</div>
</div>
Categories: Javascript Tags:
15 октября 2019 Нет комментариев

Когда нужно совместить Chosen (https://harvesthq.github.io/chosen/) и Autocomplete Widget (https://api.jqueryui.com/autocomplete/), например, при очень большом списке.

$("select.chosen").chosen({width:"100%"});
$('.accessories .search-field input').each(function(i,el){
	el=$(el);
	el.autocomplete({
		minLength:3,
		delay:2000,
		source:function(request,response){
			var select=el.closest('.accessories').find('select');
			$.ajax({
				url:"/?sc="+request.term,
				dataType:"json",
				success:function(data){
					select.find('option').not(':selected').remove();
					response($.map(data,function(item){
						if(!(select.find('option[value='+item.id+']').length>0)){
							select.append('<option value="'+item.id+'">'+item.name+' ['+item.part+']</option>');
						}
					}));
					select.trigger("chosen:updated");
				}
			});
		},
	});
});

Пример php для ajax:

if(isset($_GET['sc'])){
	header("Content-Type: application/json");
	$result=get_from_base('`id`,`part`,`name`','catalog',"`part` LIKE '%".$_GET['sc']."%'",'`parent`,`pos`');
	echo json_encode($result);
	exit();
}

Сам select:

<div class="accessories">
	<select name="accessories[]" multiple="multiple" class="chosen" data-placeholder="Выбрать позиции">
		<?if(count($catalog_accessories)>0){?>
			<?foreach($catalog_accessories as $v){?>
				<option value="<?=$v['id']?>"<?if(in_array($v['id'],$change_catalog_accessories)){?> selected="selected"<?}?>><?=$v['name']?> [<?=$v['part']?>]</option>
			<?}?>
		<?}?>
	</select>
</div>

Другие данные:

$change_catalog_accessories=array();
$change_catalog=get_by_id($_GET["uid"],'catalog');
if($change_catalog['accessories']!=''){
	$change_catalog_accessories=explode(',',str_replace("'","",$change_catalog['accessories']));
	$catalog_accessories=get_from_base('`id`,`name`,`part`','catalog',"`shown`=1 and `id`!='".$change_catalog['id']."' and `id` in (".$change_catalog['accessories'].")",'`parent`,`pos`');
}
Categories: Javascript Tags:
10 августа 2019 Нет комментариев
var owl=$('#owl');
owl.owlCarousel({
	loop:true,
	margin:0,
	items:1,
	dots:true,
	nav:true,
	navText:['<i class="fa fa-angle-left"></i>','<i class="fa fa-angle-right"></i>'],
});
owl.on('changed.owl.carousel',function(e){
	$('.counter span').text(e.page.index+1);
});
<div class="owl-carousel owl-theme" id="owl">
	<?php
	foreach($items as $item){?>
		<div class="item"></div>
	<?}?>
</div>
<div class="counter"><span>1</span> | <?=count($items)?></div>
Categories: Javascript Tags: ,