친구 용 작은 포트폴리오 사이트를 만들기 위해 편집 한 무료 반응 형 웹 템플릿을 사용하고 있습니다. 내가 겪고있는 문제는 팬시 박스 창에서 특정 이미지 갤러리와 뷰를 선택하면 특정 갤러리의 이미지뿐만 아니라 모든 이미지를 계속 클릭한다는 것입니다.fancybox에서 동위 원소 필터링 관련 문제가 발생했습니다.
나는이 솔루션 (https://groups.google.com/forum/#!topic/fancybox/ncVsViD2v9o)을 찾았지만 실제로는 자바 스크립트에 대한 지식이 없으므로이 스크립트가 나에게 효과적인지 또는 템플릿의 코드로 구현하는지 확신 할 수 없다.
HTML
<!-- Portfolio Projects -->
<div class="row">
<div class="span3">
<!-- Filter -->
<nav id="options" class="work-nav">
<ul id="filters" class="option-set" data-option-key="filter">
<li class="type-work">Photography</li>
<li><a href="#filter" data-option-value="*" class="selected">All Images</a>
</li>
<li><a href="#filter" data-option-value=".people">People</a>
</li>
<li><a href="#filter" data-option-value=".places">Places</a>
</li>
<li><a href="#filter" data-option-value=".things">Things</a>
</li>
</ul>
</nav>
<!-- End Filter -->
</div>
<div class="span9">
<div class="row">
<section id="projects">
<ul id="thumbs">
<!-- Item Project and Filter Name -->
<li class="item-thumbs span3 people">
<!-- Fancybox - Gallery Enabled - Title - Full Image -->
<a class="hover-wrap fancybox" data-fancybox-group="gallery" title="John" href="_include/img/work/full/people-01-full.jpg">
<span class="overlay-img"></span>
<span class="overlay-img-thumb font-icon-plus"></span>
</a>
<!-- Thumb Image and Description -->
<img src="_include/img/work/thumbs/people-01.jpg" alt="Print Number 1–10">
</li>
<!-- End Item Project -->
<!-- Item Project and Filter Name -->
<li class="item-thumbs span3 things">
<!-- Fancybox - Gallery Enabled - Title - Full Image -->
<a class="hover-wrap fancybox" data-fancybox-group="gallery" title="Garden Wall" href="_include/img/work/full/things-07-full.jpg">
<span class="overlay-img"></span>
<span class="overlay-img-thumb font-icon-plus"></span>
</a>
<!-- Thumb Image and Description -->
<img src="_include/img/work/thumbs/things-07.jpg" alt="Print Number 1–22">
</li>
<!-- End Item Project -->
BRUSHED.filter = function() {
if ($('#projects').length > 0) {
var $container = $('#projects');
$container.imagesLoaded(function() {
$container.isotope({
// options
animationEngine: 'best-available',
itemSelector: '.item-thumbs',
layoutMode: 'fitRows'
});
});
// filter items when filter link is clicked
var $optionSets = $('#options .option-set'),
$optionLinks = $optionSets.find('a');
$optionLinks.click(function() {
var $this = $(this);
// don't proceed if already selected
if ($this.hasClass('selected')) {
return false;
}
var $optionSet = $this.parents('.option-set');
$optionSet.find('.selected').removeClass('selected');
$this.addClass('selected');
// make option object dynamically, i.e. { filter: '.my-filter-class' }
var options = {},
key = $optionSet.attr('data-option-key'),
value = $this.attr('data-option-value');
// parse 'false' as false boolean
value = value === 'false' ? false : value;
options[key] = value;
if (key === 'layoutMode' && typeof changeLayoutMode === 'function') {
// changes in layout modes need extra logic
changeLayoutMode($this, options)
} else {
// otherwise, apply new options
$container.isotope(options);
}
return false;
});
}
}
어떤 통찰력이라도 대단히 감사 드리며 더 이상 정보를 제공해야하는지 알려주세요.
감사합니다!
안녕 Dave, 제공 한 코드로 문제를 재현 할 수 없습니다. 라이브 링크가 있습니까? 내가 본 한 가지는 Fancybox의 "갤러리"마다 다른 이름을 부여해야한다는 것입니다. 'data-fancybox-group = "gallery-01"'및'data-fancybox-group = "gallery-02"'등등을 시도해보십시오. –
안녕 루이스, 나에게 돌아와 줘서 고마워. 이것은 사이트의 현재 테스트 버전입니다 : http://www.susanemiller.com/brushed/index.html –