Я использую код, найденный на jsfiddle http://jsfiddle.net/mekwall/fNyHs/, поскольку он кажется лучшим для моей ситуации, когда мне нужен динамический текст, чтобы он соответствовал контейнеру (путем изменения размера шрифта).Ссылка на сайт внутри JQuery
(function($) {
$.fn.textfill = function(maxFontSize, maxWords) {
maxFontSize = parseInt(maxFontSize, 10);
maxWords = parseInt(maxWords, 10) || 4;
return this.each(function(){
var self = $(this),
orgText = self.text(),
fontSize = parseInt(self.css("fontSize"), 10),
lineHeight = parseInt(self.css("lineHeight"), 10),
maxHeight = self.height(),
maxWidth = self.width(),
words = self.text().split(" ");
function calcSize(text) {
var ourText = $("<span class='dyntextval'><a href='#' class='trigger'>"+text+"</a></span>").appendTo(self),
multiplier = maxWidth/ourText.width(),
newSize = fontSize*(multiplier-0.1);
ourText.css(
"fontSize",
(maxFontSize > 0 && newSize > maxFontSize) ?
maxFontSize :
newSize
);
var scrollHeight = self[0].scrollHeight;
if (scrollHeight > maxHeight) {
multiplier = maxHeight/scrollHeight;
newSize = (newSize*multiplier);
ourText.css(
"fontSize",
(maxFontSize > 0 && newSize > maxFontSize) ?
maxFontSize :
newSize
);
}
}
self.empty();
if (words.length > maxWords) {
while (words.length > 0) {
var newText = words.splice(0, maxWords).join(" ");
console.log
calcSize(newText);
self.append("<br>");
}
} else {
calcSize(orgText);
}
});
};
})(jQuery);
$(document).ready(function() {
$('.large').textfill({ maxFontPixels: 120, minFontPixels: 36});
$('.medium').textfill({ maxFontPixels: 32 });
$('.small').textfill({ maxFontPixels: 18 });
});
Но у меня возникли проблемы с этой частью:
var ourText = $(""+text+"").appendTo(self),
Дело в том, что мне нужна ссылка внутри там, который переключает другой раз щелкнул деление с.
тумблер:
$(".side-toggle").hide();
$('.trigger').click(function() {
$(this).closest('.group').find('.side-toggle').slideToggle();
return false; //Prevent the browser jump to the link anchor
});
$(".toggle").click(function() {
$(this).next(".group").slideToggle();
});
тумблер работает сам по себе, но не тогда, когда я также реализовать код заполнения кода текста.
HTML-:
<div class="quepasa">
<div class="large artist">
<span class="dyntextval">
<a title="<?php the_title();?>" href="#" class="trigger">
<?php if (get_the_title()) the_title(); else the_ID(); ?>+
</a>
</span>
</div>
</div>
У меня нет достаточно знаний JQuery, чтобы знать, как: а) поставить ссылку на? b) Сохраняйте функцию переключения
Я надеюсь, что кто-то там может помочь мне.
Вы можете оставить скрипку как это работает без кода текстового наполнения? –
Tagged PHP. Зачем? –
Я не мог соединить точки b/w, что вы опубликовали, и чего вы хотите достичь. Можете ли вы опубликовать полный код того, что вы пытались объединить? –