Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php jQuery根据字符数更改CSS中的行高_Php_Javascript_Jquery_Css - Fatal编程技术网

Php jQuery根据字符数更改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}

我的网站上有一个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}
在页面上,元素仅由以下代码生成:

<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;
                }

      });
});