Php jQuery根据字符数更改CSS中的行高
我的网站上有一个Twitter小部件,显示我们公司的最新推文。但是,如果tweet超过一定长度,它就无法放入站点的容器中,因此会被切断。我想根据tweet中的字符数以编程方式更改元素的行高css 定义元素这一部分的CSS如下所示:Php jQuery根据字符数更改CSS中的行高,php,javascript,jquery,css,Php,Javascript,Jquery,Css,我的网站上有一个Twitter小部件,显示我们公司的最新推文。但是,如果tweet超过一定长度,它就无法放入站点的容器中,因此会被切断。我想根据tweet中的字符数以编程方式更改元素的行高css 定义元素这一部分的CSS如下所示: ul.tweet_list li{overflow-y: hidden;overflow-x: hidden;padding: 0.5em !important;height: 55px;line-height:55px;vertical-align: middle}
ul.tweet_list li{overflow-y: hidden;overflow-x: hidden;padding: 0.5em !important;height: 55px;line-height:55px;vertical-align: middle}
在页面上,元素仅由以下代码生成:
<div class="tweeter_widget"></div>
ie:如果包含Tweet的div中有10个以上的字符,请更改行高。编辑代码以包含在Tweet div setter中,尽管可能还有一些工作需要完成:
/* Twitter initiates. Enter your username here. */
jQuery(function($){
$(".tweeter_widget").tweet({
join_text: "auto",
username: "username",
avatar_size: null,
count: 1,
auto_join_text_default: "",
auto_join_text_ed: "",
auto_join_text_ing: "",
auto_join_text_reply: "",
auto_join_text_url: "",
loading_text: "loading tweets..."
});
if ($(".tweeter_widget").html().length > X)
{
$(".tweeter_widget").css('line-height', '24px');
}
});
很有可能,因为它是动态更新的,所以您需要通过某种回调来延迟它。如果我正确理解tweet API,您可以使用filter参数执行以下操作:
/* Twitter initiates. Enter your username here. */
jQuery(function($){
$(".tweeter_widget").tweet({
join_text: "auto",
username: "username",
avatar_size: null,
count: 1,
auto_join_text_default: "",
auto_join_text_ed: "",
auto_join_text_ing: "",
auto_join_text_reply: "",
auto_join_text_url: "",
loading_text: "loading tweets...",
filter: function(t) {
if (t.tweet_raw_text.length > X)
{
$(".tweeter_widget").css('lineheight', '24px');
}
return t;
}
});
});
当然,我还没有测试过这段代码。您试图解决的实际问题是“如何垂直居中文本”?我更新了问题。。。查看屏幕快照的链接我对JS有点陌生。。。我要把这个放在哪里?我需要做什么才能让它运行onLoad呢?我编辑了顶部的代码以显示生成tweet的JS。我可以在那里放一些代码吗?是的,我想你可以把它放在最后一行之前;我将编辑我的回复以显示。好的,这是可行的,但由于某些原因,它会将其完全从页面中删除。比如说,它没有把它移动到正确的空间或其他地方。我应该将此代码放置在何处?实际上,由于某种原因,此代码根本不会显示文本..?您可以将5px更改为仅25px(5px太小)。如果line height属性已存在,我是否需要在使用此代码更新它之前清除它?我不知道为什么它没有显示,但我想这是因为这个CSS属性被应用了两次?还有一件事:tweet显示在
ul.tweet\u list li
中,所以如果我不能将类或id应用于这个li
元素,我如何更改这个元素的行高?例如,我需要更改ul.tweet\u列表li
的行高,而不是更改.tweer\u小部件的代码中的行高。
/* Twitter initiates. Enter your username here. */
jQuery(function($){
$(".tweeter_widget").tweet({
join_text: "auto",
username: "username",
avatar_size: null,
count: 1,
auto_join_text_default: "",
auto_join_text_ed: "",
auto_join_text_ing: "",
auto_join_text_reply: "",
auto_join_text_url: "",
loading_text: "loading tweets..."
});
if ($(".tweeter_widget").html().length > X)
{
$(".tweeter_widget").css('line-height', '24px');
}
});
/* Twitter initiates. Enter your username here. */
jQuery(function($){
$(".tweeter_widget").tweet({
join_text: "auto",
username: "username",
avatar_size: null,
count: 1,
auto_join_text_default: "",
auto_join_text_ed: "",
auto_join_text_ing: "",
auto_join_text_reply: "",
auto_join_text_url: "",
loading_text: "loading tweets...",
filter: function(t) {
if (t.tweet_raw_text.length > X)
{
$(".tweeter_widget").css('lineheight', '24px');
}
return t;
}
});
});