2012-11-01 3 views
3

Привет вы, вероятно, думаете, что это глупый вопрос, но я пытаюсь получить заголовки добавлены в фантазии поле 2. Я очень мало знаю о Javascript, но есть это в нижней части моего HTMLДобавление заголовка в фантазии поле

<script type="text/javascript"> 
$(document).ready(function() { 
    $(".fancybox").fancybox(); 
}); 
</script> 

И если я пытаюсь добавить в

$(".fancybox") 
.attr('rel', 'gallery') 
.fancybox({ 
    beforeLoad: function() { 
     this.title = $(this.element).attr('caption'); 
} 
}); 

Я получаю все виды ошибок синтаксиса.

Сайт: http://bit.ly/Wan5kr

+0

попробовать использовать одинарные кавычки в $ ("FancyBox.") FancyBox(). –

+0

как вы можете добавить эти два вместе? Спасибо :) – Amanda

+0

Проверьте http://fancyapps.com/fancybox/#useful № 7 ... также в качестве справки вы можете проверить http://stackoverflow.com/a/8663270/1055987 – JFK

ответ

5

Ваш текущий сценарий:

$(document).ready(function() { 
    $(".fancybox").fancybox({ 
    helpers : { 
    title : { type : 'inside' } 
    }, // helpers 
    afterLoad : function() { 
    this.title = (this.title ? '' + this.title + '<br />' : '') + 'Image ' + (this.index + 1) + ' of ' + this.group.length; 
    } // afterLoad 
    }); // fancybox 
}); // ready 

... но должно быть (если вы не хотят иметь «страница 1 из 6»):

$(document).ready(function() { 
    $(".fancybox").fancybox({ 
    helpers : { 
    title : { type : 'inside' } 
    } // helpers 
    }); // fancybox 
}); // ready 

с другой стороны, если вы предпочитаете использовать атрибут caption (потому что title показывает, как подсказке при наведении ИМА о.э.р.) изменение title по caption как

<a href="images/Gallery/large/wing-back-chair.jpg" caption="Early 1900'....." rel="Sold" class="fancybox"><img width="304" height="350" alt="Winged back chair and ottoman" src="images/Gallery/tn/wing-back-chair.jpg"></a> 

и использовать этот скрипт

$(document).ready(function() { 
    $(".fancybox").fancybox({ 
    helpers : { 
    title : { type : 'inside' } 
    }, // helpers 
    beforeLoad: function() { 
    this.title = $(this.element).attr('caption'); 
    } 
    }); // fancybox 
}); // ready 
+0

@amanda: t забыть http://meta.stackexchange.com/a/5235 за любой ответ, который вы нашли полезным. – JFK

+0

Спасибо большое! Ваш опыт и помощь очень ценятся :) – Amanda

+0

@JFK, когда я добавляю ваше решение, мои миниатюры исчезают, что может быть причиной? JSFIDDLE: http://jsfiddle.net/uZCC6/5191/ – mikeb

0

один (и самый простой) вариант, чтобы установить атрибут Tittle родительского HREF.

Так же, как:

<a href="./bigimg/image.jpg" title="My custom title here" id="example"> 
    <img src="./thumbs/image.jpg" alt="thumbnail of image"> 
</a> 

Если вы хотите поместить название внутри осветителя, а не прямо под ним, вы должны изменить атрибут «titlePostion». Точно так же:

$("a.fancybox").fancybox({ 
    'titlePosition' : 'inside' 
}); 

Вместо «над» вы также можете поместить его «внутри» или «снаружи». Снаружи - поведение fancybox по умолчанию. Он позиционирует ваш заголовок прямо ниже (снаружи) лайтбокса. «Над» помещает заголовок внутри лайтбокса, но поверх изображения с темным альфа-прозрачным фоном. «Внутри» помещает ваш заголовок внутри лайтбокса, но ниже картинки, на границе белого лайтбокса.

На первой странице представлены fancybox.net. Смотрите три картины в: «разных позиций название -„снаружи“,„внутри“и„над“»

+0

Спасибо за ваш отзыв, но я сделал это и я получаю один действительно длинный титул. Я хотел бы, чтобы он появлялся в белом кадре, как лайтбокс. – Amanda

+0

Я понимаю, вам нужно установить атрибут 'titlePosition'. Я отредактировал свой более ранний ответ. Надеюсь это поможет. –

+0

@ s.meijer: OP использует fancybox v2.x, а 'titlePosition' - это опция для fancybox v1.3.x, которые несовместимы. – JFK

Смежные вопросы