検索



1 つ。基本紹介
この jq プラグインは主にキャンバスを使用してこのチップの外観を描画します。このチップは画像ではなくキャンバスで描画されるため、後でぼやけることはありません。そういった調整。
主なアイデアは、P タグを使用してタイトルの値をロードし、P に応じてサイズが変化するキャンバスにタイトルを配置することです。難しいのは配置です。
最初に font-size を指定しないと、Firefox はデフォルトの font-size 値を見つけることができるようですが、Google Chrome はその値を読み取れず、非常にイライラします。
詳細な手順については、コードのコメントを参照してください。
2つ。デモとコード
コードをコピー コードは次のとおりです:

(function($){
$.fn.polaTip=function(){
vartips={};//ヒント コレクション、一致するセット内の各要素のオブジェクトを作成します、このオブジェクトは必要な情報をいくつか保存します
//以下のヒントは上のヒントとは関係がありません。キャンバス オブジェクトが保存され、このキャンバスは共有されます
vartip= $("") //text-align:center ;vertical- align:maddle;
var div=$("
").append(tip);
div.appendTo(" body") ;
var cxt =tip[0].getContext("2d");
this.each(function(){
var $that=$(this);
var offset = $that .offset();
var setleft=offset.left;// ページに対する相対位置を取得します
var theTip={};
var title = $ ("

");
theTip.title=title;//要素ごとに 1 つのタイトルがあり、ヒント配列に保存します
var fontSize=16;
//var fontSize=parseInt(theTip .title.css("fontSize"));
title.css("opacity",0);//まずデフォルトで読み込まれる要素のtitle属性のPを非表示にします
div.append( theTip.title);
titleString=$that.attr("title");//タイトル属性を取得します
var titleStringLength=titleString.length;//タイトルの長さを取得します
$that. attr( "title","");
title.text(titleString);// 要素 title の値は、作成したばかりの P に保存されます
theTip.titleWidth= title.width();//ロード後の P
theTip.that=$that;
if(this.id) {tips[this.id]=theTip;}
else{$that.addClass(Math.random( ) "" );tips[$that.attr("class")]=theTip;}//ID がある場合はその ID をキーとして使用し、ない場合はランダムなクラスをキーとして生成します
if (theTip.titleWidth>250|| titleStringLength>(250/fontSize)){//タイトルが長すぎる場合は、折り返してください
var rowLength=Math.sqrt(titleStringLength*(5/1))*fontSize;
toBreakWord( (rowLength* 1.3)/fontSize,theTip.title[0]);
theTip.title.css("width",rowLength);
else{theTip.title. css({"width":titleStringLength *fontSize 10});}//,whiteSpace:"nowrap"
$that.hover(
function(){
var theTip=null;
if (this.id){theTip=tips[this.id];}
else{theTip=tips[this.className];}//key
var title=theTip に基づいてヒント内の独自のオブジェクトを取得します。 title;
/*width 高計算*/
var height=title.height()*1.1 20;
title.css({ top:title.height()* 0.1*0.5 10 "px",left:width*0.1 2 "px"});
tip.css({height:height "px",width:width "px"}) );
var lingrad = cxt.createLinearGradient(0,0,0,150); //キャンバスの線形グラデーション
lingrad.addColorStop(0, '#00ABEB'); rgba(10, 150, 255, 0.9)');
cxt.drawingStyle=lingrad;
var radgrad = cxt.createRadialGradient(150,75,10,150,75,150); //キャンバスの反射グラデーション
radgrad.addColorStop(0, ' rgba(10, 150, 255, 0.3)'); radgrad.addColorStop(0.5, 'rgba(10, 150, 255, 0.3)'); 1, 'rgba(256,256,256, 0.5)');
cxt.lineJoin="round";//2 つの線が角度を形成するときの角度の形状
cxt.lineWidth=2;//線幅
cxt.clearRect(0, 0,300,150);//キャンバスをクリアします。キャンバスは共有されているため、最後にクリアする必要があります。
/*必要な先端の形状を描画します*/
cxt.beginPath() ;
cxt.moveTo(30.5,5.5);
cxt.lineTo(285.5,135.5); 🎜>cxt.lineTo(2.5, 148.5);
cxt.lineTo(30.5,5.5); */
cxt.fillStyle ="#fff";
cxt.fillStyle=radgrad;
for(ヒントの var flagtip) )//他のヒントのテキストを非表示にする
{ flagtip==theTip){flagtip.title.css("opacity",1);}
else {
if(flagtip.title .css){flagtip.title.css("不透明度",0);}
}
}
div.css({left:setleft $that.width () "px",top:settop -2*tip.height() "px",opacity:0,height:height,width:width});
div.stop(); ({top:settop-tip.height () "px",opacity:1},500)
},
function(){
div.stop(); {top:settop-2*tip.height() "px",opacity:0},1000)
})//ホバー
})//それぞれ
}
})(jQuery )
$(function() {
$("div p").children().add("#Button1").polaTip();
})


特定の単語区切りと改行関数




コードをコピー


コードは次のとおりです:


function toBreakWord(intLen, obj)//単語と改行を区切る関数
{
var strContent=obj.innerHTML;
var strTemp="""while(strContent.length>intLen); {
strTemp =strContent.substr(0,intLen) "";

strContent=strContent.substr(intLen,strContent.length);
strTemp = strContent; >obj.innerHTML=strTemp;
}

完全なデモ コード:
コードをコピー コードは次のとおりです:













;/h2>

  • 実験として、「W3C」、「MIT」、「HTML」、「CSS」、「XML」奇妙なボタンには両方ともヒントがあり、内容はタイトルに保存されます
  • 関数を追加するステートメント: $("div p").children().add("# Button1")。 polaTip();

  • このプラグインは、canvas タグをサポートするブラウザでのみ実行できます
  • 注: excanvas は使用されません。このファイルは大きすぎて、プロンプト ボックスを描画するだけでは無駄が多すぎるため、IE ではキャンバスがサポートされていました。

    < ;div class="newStyle1">

    W3C は英語の World Wide Web Consortium の略称で、中国語の意味は W3C略> 評議会または World Wide Web コンソーシアム。 W3C は 1994 年 10 月に / a> に設立されました。 World Wide Web の発明者、Tim Berners-Lee によって作成されました。 W3C 組織は、、XHTML、 などのインターネット標準を開発する非営利団体です。 ; /abbr> XML 標準は W3C によってカスタマイズされています。 W3C メンバー (約 500 人のメンバー) には、テクノロジー製品およびサービスのメーカー、コンテンツ プロバイダー、コミュニティ ユーザー、研究所、標準開発組織、政府部門が含まれており、World Wide Web の開発方向について合意に達するために協力しています。






    声明
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
    PythonとJavaScriptの未来:傾向と予測PythonとJavaScriptの未来:傾向と予測Apr 27, 2025 am 12:21 AM

    PythonとJavaScriptの将来の傾向には、1。Pythonが科学コンピューティングの分野での位置を統合し、AI、2。JavaScriptはWebテクノロジーの開発を促進します。どちらもそれぞれのフィールドでアプリケーションシナリオを拡大し続け、パフォーマンスをより多くのブレークスルーを行います。

    Python vs. JavaScript:開発環境とツールPython vs. JavaScript:開発環境とツールApr 26, 2025 am 12:09 AM

    開発環境におけるPythonとJavaScriptの両方の選択が重要です。 1)Pythonの開発環境には、Pycharm、Jupyternotebook、Anacondaが含まれます。これらは、データサイエンスと迅速なプロトタイピングに適しています。 2)JavaScriptの開発環境には、フロントエンドおよびバックエンド開発に適したnode.js、vscode、およびwebpackが含まれます。プロジェクトのニーズに応じて適切なツールを選択すると、開発効率とプロジェクトの成功率が向上する可能性があります。

    JavaScriptはCで書かれていますか?証拠を調べるJavaScriptはCで書かれていますか?証拠を調べるApr 25, 2025 am 12:15 AM

    はい、JavaScriptのエンジンコアはCで記述されています。1)C言語は、JavaScriptエンジンの開発に適した効率的なパフォーマンスと基礎となる制御を提供します。 2)V8エンジンを例にとると、そのコアはCで記述され、Cの効率とオブジェクト指向の特性を組み合わせて書かれています。3)JavaScriptエンジンの作業原理には、解析、コンパイル、実行が含まれ、C言語はこれらのプロセスで重要な役割を果たします。

    JavaScriptの役割:WebをインタラクティブでダイナミックにするJavaScriptの役割:WebをインタラクティブでダイナミックにするApr 24, 2025 am 12:12 AM

    JavaScriptは、Webページのインタラクティブ性とダイナミズムを向上させるため、現代のWebサイトの中心にあります。 1)ページを更新せずにコンテンツを変更できます。2)Domapiを介してWebページを操作する、3)アニメーションやドラッグアンドドロップなどの複雑なインタラクティブ効果、4)ユーザーエクスペリエンスを改善するためのパフォーマンスとベストプラクティスを最適化します。

    CおよびJavaScript:接続が説明しましたCおよびJavaScript:接続が説明しましたApr 23, 2025 am 12:07 AM

    CおよびJavaScriptは、WebAssemblyを介して相互運用性を実現します。 1)CコードはWebAssemblyモジュールにコンパイルされ、JavaScript環境に導入され、コンピューティングパワーが強化されます。 2)ゲーム開発では、Cは物理エンジンとグラフィックスレンダリングを処理し、JavaScriptはゲームロジックとユーザーインターフェイスを担当します。

    Webサイトからアプリまで:JavaScriptの多様なアプリケーションWebサイトからアプリまで:JavaScriptの多様なアプリケーションApr 22, 2025 am 12:02 AM

    JavaScriptは、Webサイト、モバイルアプリケーション、デスクトップアプリケーション、サーバー側のプログラミングで広く使用されています。 1)Webサイト開発では、JavaScriptはHTMLおよびCSSと一緒にDOMを運用して、JQueryやReactなどのフレームワークをサポートします。 2)ReactNativeおよびIonicを通じて、JavaScriptはクロスプラットフォームモバイルアプリケーションを開発するために使用されます。 3)電子フレームワークにより、JavaScriptはデスクトップアプリケーションを構築できます。 4)node.jsを使用すると、JavaScriptがサーバー側で実行され、高い並行リクエストをサポートします。

    Python vs. JavaScript:ユースケースとアプリケーションと比較されますPython vs. JavaScript:ユースケースとアプリケーションと比較されますApr 21, 2025 am 12:01 AM

    Pythonはデータサイエンスと自動化により適していますが、JavaScriptはフロントエンドとフルスタックの開発により適しています。 1. Pythonは、データ処理とモデリングのためにNumpyやPandasなどのライブラリを使用して、データサイエンスと機械学習でうまく機能します。 2。Pythonは、自動化とスクリプトにおいて簡潔で効率的です。 3. JavaScriptはフロントエンド開発に不可欠であり、動的なWebページと単一ページアプリケーションの構築に使用されます。 4. JavaScriptは、node.jsを通じてバックエンド開発において役割を果たし、フルスタック開発をサポートします。

    JavaScript通訳者とコンパイラにおけるC/Cの役割JavaScript通訳者とコンパイラにおけるC/Cの役割Apr 20, 2025 am 12:01 AM

    CとCは、主に通訳者とJITコンパイラを実装するために使用されるJavaScriptエンジンで重要な役割を果たします。 1)cは、JavaScriptソースコードを解析し、抽象的な構文ツリーを生成するために使用されます。 2)Cは、Bytecodeの生成と実行を担当します。 3)Cは、JITコンパイラを実装し、実行時にホットスポットコードを最適化およびコンパイルし、JavaScriptの実行効率を大幅に改善します。

    See all articles

    ホットAIツール

    Undresser.AI Undress

    Undresser.AI Undress

    リアルなヌード写真を作成する AI 搭載アプリ

    AI Clothes Remover

    AI Clothes Remover

    写真から衣服を削除するオンライン AI ツール。

    Undress AI Tool

    Undress AI Tool

    脱衣画像を無料で

    Clothoff.io

    Clothoff.io

    AI衣類リムーバー

    Video Face Swap

    Video Face Swap

    完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

    ホットツール

    VSCode Windows 64 ビットのダウンロード

    VSCode Windows 64 ビットのダウンロード

    Microsoft によって発売された無料で強力な IDE エディター

    SublimeText3 Linux 新バージョン

    SublimeText3 Linux 新バージョン

    SublimeText3 Linux 最新バージョン

    メモ帳++7.3.1

    メモ帳++7.3.1

    使いやすく無料のコードエディター

    SublimeText3 中国語版

    SublimeText3 中国語版

    中国語版、とても使いやすい

    mPDF

    mPDF

    mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。