divにカーソルを置くと、オーバーフローチェックを実行しようとしています。しかし、私はホバー機能のためにjQueryを使用し、次の機能には単純なJavascriptがあります。 jQuery関数の中でif then関数を使うことができないと仮定しているので動作しませんが、if then関数を実行する必要があるという動作が必要です。誰かが私を助けることができますか? =)jQuery関数のIF関数
だから、jQueryの(ホバー) - > JS(オーバーフローをチェックしてください) - > jQueryの(ここで(DIVに追加します。 "...続きを読む..."))
HTML:
<div class="hover_cap">
<div class="hcd">
Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum
</div>
</div>
CSS:
.hover_cap {
width:150px;
max-height: 17.5ex;
border: 1px solid red;
}
.hcd {
line-height:2.5ex;
max-height:12.5ex;
margin: 10px;
border: 1px solid green;
overflow: hidden;
}
.readmore {
padding: 0px 10px 10px 10px;
}
JS:
$('.hover_cap').hover(
if (function checkOverflow(hcd) {
var curOverflow = hcd.style.overflow;
if (!curOverflow || curOverflow === "hidden") hcd.style.overflow = "visible";
var isOverflowing = hcd.clientWidth < hcd.scrollWidth || hcd.clientHeight < hcd.scrollHeight;
hcd.style.overflow = curOverflow;
return isOverflowing;
}) {
function() {
$(this).append($('<a>...read more...</a>'));
},
function() {
$(this).find("a:last").remove();
}
}
}
念のために、あなたはホバー機能がisOverflowingがtrueの場合にのみ動作する必要があることを求めていますか? –
javascriptのコールバックについて読む。 checkOverflow関数では、isOverflowingがtrueであればコールバックを渡します。実行する内容に応じて実行します。 「コールバック関数を実装する際の基本原則」を読んでください。 http://javascriptissexy.com/understand-javascript-callback-functions-and-use-them/ – psycho
@ er-hanいいえ反対の話です。テキストは、isOverflowingがtrueのときに追加し、div =にマウスオーバーするとオーバーフローをチェックする必要があります) –