0

Wordpress でカスタム テンプレートを作成しています。

ページのタイトルが 45 文字を超える場合、自動的に調整する必要があります。

タイトルは、PHP を介して Wordpress データベースから取得されています。

これを行うためにjavascriptを構築しようとしています:

タイトルの長さが (php 経由で) 45 文字未満の場合: css 属性 "margin-top" を 111px に変更します。

それ以外の場合は、css 属性「margin-top」を 150px に変更します。

これが私がこれまでに持っているものです:

私のHTML:

<div class="title-of-page" id="title" style="margin-top:53px">
    <?php echo get_the_title($post->post_parent); ?>
</div>

私のJavascript:

<script>
if ( <? php strlen(get_the_title($post - > post_parent)) ?> < 45) {
    document.getElementById("title").style.marginTop = "111px";
} else {
    document.getElementById("title").style.marginTop = "150px";
} 
</script>

私が十分に明確でない場合は、質問してください。

4

2 に答える 2

1

なぜジャバスクリプト?

<?php
$title = get_the_title($post->post_parent);
if (strlen($title)<45) { $mtop ='111px'; } else { $mtop='150px'; }
echo '<div class="title-of-page" id="title" style="margin-top:'.$mtop.';">'.$title.'</div>';
?>
于 2013-08-29T17:50:18.383 に答える
0

@Thomas Martin が提案したように、PHP でのみ実行できます。

ただし、Javascript 側で行うことに熱心すぎる場合は、 で行うことができます。

<script>
   var title =  document.getElementById('title').textContent;
   if(title.length < 45){
       document.getElementById("title").style.marginTop = "111px";
   }else{
       document.getElementById("title").style.marginTop = "150px";
   }
</script>
于 2013-08-29T17:59:13.927 に答える