Я разрабатываю тему WordPress, которая добавляет сообщения с бесконечной прокруткой и имеет простой фрагмент jQuery, чтобы скрыть/показать заголовки сообщений, когда сообщение зависает:
$('article').mouseover(function() {
$(this).next('h2.subtitled').show();
}).mouseout(function() {
$(this).next('h2.subtitled').hide();
});
Таким образом, в основном за каждым сообщением («статьей») следует его заголовок («h2.subtitled»), который изначально скрыт (через display:none;) и фиксируется в нижней части браузера. Кажется, пока это работает хорошо, но как только бесконечная прокрутка загружает новые элементы:
$(function(){
var $container = $('#main');
$container.isotope({
itemSelector : 'article'
});
// update columnWidth on window resize
$(window).smartresize(function(){
$container.isotope({
});
});
$container.infinitescroll({
navSelector : '.pagination', // selector for the paged navigation
nextSelector : '.pagination a.next', // selector for the NEXT link (to page 2)
itemSelector : 'article', // selector for all items you'll retrieve
loading: {
finishedMsg: 'No more pages to load.',
img: 'http://i.imgur.com/qkKy8.gif'
}
},
// call Isotope as a callback
function( newElements ) {
$container.isotope( 'appended', $( newElements ) );
}
);
});
Эффекты наведения больше не работают на недавно добавленных элементах. Я как бы понял, что функция наведения уже запущена, а новые элементы даже не знают, что они должны что-то наводить, поэтому я попытался повторить функцию наведения в обратном вызове бесконечной прокрутки:
function( newElements ) {
$container.isotope( 'appended', $( newElements ) );
$('article').mouseover(function() {
$(this).next('h2.subtitled').show();
}).mouseout(function() {
$(this).next('h2.subtitled').hide();
});
}
Что не работает, они новые элементы все равно не зависают. Кто-нибудь может помочь?
Спасибо!
РЕДАКТИРОВАТЬ: Вот основная структура HTML:
<div id="main">
<article class="hubbub">
//article content
</article>
<h2 class="subtitled">
//h2 content
</h2>
</div>
Ладно, извини, я понял, что проблема в другом. Пока спасибо… Как следует из этого, и бесконечная прокрутка захватывает элемент только как itemSelector, там, где нет в добавленных элементах. Итак, мне нужны элементы на фиксированном месте внизу границы. Как только я помещаю их внутрь элемента , который имеет {position: относительный;}, элементы фиксируются относительно родительского элемента в нижней части каждого элемента. Есть ли способ сохранить внутреннюю часть , но при этом зафиксировать их внизу браузера? Спасибо!