Моя функция проверяет URL-адрес для хэша, возвращает его значение, использует это значение, чтобы найти изображение (по идентификатору) и применить к нему имя класса.Моя консоль не показывает никаких ошибок, но я не вижу ожидаемого результата.
Вместо того, чтобы фильтровать класс .z
по возвращенному значению hash
, он записывает весь класс .z
в id=image
Есть ли лучший способ отфильтровать это значение и использовать его в качестве идентификатора?Спасибо!
JavaScript:
(function($){
$.brantley = function(callback) {
var $doc = $(document),
$win = $(window),
$z, $load, $footer, $header, $status, $container, $hash;
$doc.ready(function() {
$z = $('.z');
$load = $('#load');
$footer = $('footer');
$header = $('header');
$status = $('#status');
$container = $('#container'),
hash = gethash();
if(hash) {
var image = hash;
$('.z').attr('id', 'image').addClass('active');
} else {
$('.z:first').addClass('active');
}
});
function gethash() {
var hash=window.location.hash;
hash=hash.replace(/#/,'');
return hash;
}
function updateNumber(type) {
window.location = window.location.pathname + "#" + type;
}
};
})(jQuery);
РЕДАКТИРОВАТЬ:
Принял во внимание все комментарии, а также ответ, вот что я закончил:
(function($){
$.brantley = function(callback) {
var $doc = $(document),
$win = $(window),
$z, $load, $footer, $header, $status, $container;
$doc.ready(function() {
$z = $('.z');
$load = $('#load');
$footer = $('footer');
$header = $('header');
$status = $('#status');
$container = $('#container');
var hash = gethash();
if(hash) {
$('#' + hash + '.z').addClass('active');
} else {
$('.z:first').addClass('active');
}
bromance();
});
$win.load(function() {
bromance();
$load.fadeOut('fast', function() {
$('.active').fadeIn('slow');
$status.fadeIn('slow');
$footer.fadeIn('slow');
});
});
$win.resize(function() {
bromance();
});
function gethash() {
var hash=window.location.hash;
hash=hash.replace(/#/,'');
return hash;
}
function updateNumber(type) {
window.location = window.location.pathname + "#" + type;
}
};
})(jQuery);