ページの読み込み時にアプリケーション名を表示しています。アプリケーション名が大きすぎる場合は、部分的にドットで表示し、マウスオーバー時に完全なアプリケーション名を表示したいと考えています。私はそれをやろうとしていますが、正確な解決策が得られません。誰でもこれで私を助けることができますか?jqueryでasp.net 4.0を使用しています。
ありがとうアスマ
次のように使用します
<span title="long name">long...</span>
title
フルネームを表示するには、 を使用します。マウスオーバーすると、
ツールチップのスタイルを設定したい場合は、次のプラグインを使用してください。
http://twitter.github.com/bootstrap/javascript.html#tooltips
<!-- make sure you have the jquery library loaded !-->
<div class="application_name">My Long Application Name</div>
<div class="application_name">My Long Application Name</div>
<div class="application_name">My Long Application Name</div>
<script type="text/javascript">
// on page load
var max_characters = 10;
$(document).ready(function(){
// iterate all application names
$('.application_name').each(function(){
// establish if they contain more than your desired number of characters
if($(this).html().length > max_characters){
// attach nesting divs to the DOM to work with later
var html = '';
html += '<div class="long_application_name" style="display:none;">';
html += $(this).html();
html += '</div>';
html += '<div class="short_application_name">'
html += $(this).html().substring(0, max_characters) + '...';
html += '</div>';
$(this).html(html);
}
$(this).mouseover(function(){
// show hide the appropriate nested divs
$(this).find('.long_application_name').show();
$(this).find('.short_application_name').hide();
})
$(this).mouseout(function(){
// show hide the appropriate nested divs
$(this).find('.long_application_name').hide();
$(this).find('.short_application_name').show();
})
})
});
</script>
このようなhtmlを生成できます
<li class="someclass" data-short="app..." data-full="application">app...</li>
liタグを使用すると仮定すると、jqコードは次のようになります
$(function () {
$(".someclass").mouseover(function() {
$(this).html($(this).data('full'));
});
$(".someclass").mouseout(function() {
$(this).html($(this).data('short'));
});
});
そのコントロールの文字列クラスとタイトル属性の部分文字列関数を使用してみてください