filter: (window.location.hash != '') ? '.' + window.location.hash.replace('#', '') : 'default'
Это оператор if/then
, который проверяет, является ли текущий хеш пустой строкой.Если это так, то filter
будет установлено на default
, иначе будет установлено значение window.location.hash
(минус #
).
URL-адрес, такой как index.html
, приведет кв filter
, установленном на default
, и URL-адрес, подобный этому, index.html#my-selector
, приведет к filter
, установленному на .my-selector
.
Обновление
Причина, по которой ваш кодне работает, на самом деле не имеет ничего общего с моим кодом, но вот обновленная версия вашего кода, которую я протестировал на вашем сайте:
$filterLinks.click(function(){
var $this = $(this);
// don't proceed if already selected
if ( $this.hasClass('selected') ) {
return;
}
$filterLinks.filter('.selected').removeClass('selected');
$this.addClass('selected');
// get selector from data-filter attribute
var selector = $this.data('option-value');
$container'.isotope({
filter: selector
});
});